MATLAB图像处理基本操作(1)

matlib软件巨大,没有安装 找了几个在线网址

http://www.compileonline.com/execute_matlab_online.php

https://octave-online.net/

从文件读取图像

a)读取图像文件

要读取图像文件,请使用imread函数并指定文件名。 本示例读取一个名为peppers.png的图像,并将其存储在名为a的数组中:a = imread('peppers.png');

 b)显示图像,imshow函数

imshow(a);  %显示图像

一个可用于显示图像的功能是imagesc。
   imagesc(a);  %将比例数组缩放到整个范围[0,255]并显示它调用imshow后,我们可以通过键入以下内容来找到鼠标位置的像素值:impixelinfo

a=imread('4.jpg');%读取图片
imshow(a);%显示图片
impixelinfo;%显示鼠标该点的像素 
imagesc(a);%显示图片有坐标轴 
imageinfo('4.jpg');%显示图片信息 
s = size(a);%显示图片大小

获取任意图像位置的像素值

根据坐标获取像素值 P=impixel(im,r,c) r:行坐标 c:列坐标 P:返回的RGB值

b=imread('peppers.png');
 r=[40 60 80];
 c=[100 120 140]; 
 figure; imshow(b); 
 p = impixel(b,r,c)

 

b=imread('peppers.png') 
figure; 
 imshow(b); 
 h=impixelinfo;%impixelinfo能够在当前绘图窗口(figure)中显示绘制图像的像素信息  set(h,'position',[10 10 200 50]);%显示框 

c)查找图像大小

可以通过输入以下内容来找到图像大小:s = size  (a)然后,s(1)将以像素为单位存储图像高度,s(2)将存储图像宽度。
   或者,我们可以键入:[H,W,〜] = size(a)然后,H是图像高度,W是图像宽度

d)有关图像文件的信息

MATLAB函数imageinfo显示有关图像文件的信息,例如    imageinfo('peppers.png');

访问图像像素

a)图像结构

要检查图像数据如何存储在MATLAB工作区中,请输入whos a。

要获得彩色图像的红色分量请键入;

red_component = a(:,:,1);%获得彩色图像的红色分量 
green_component = a(:,:,2);%获得彩色图像的绿色分量 
blue_component = a(:,:,3);%获得彩色图像的蓝色分量

要显示图像的各个颜色分量,请键入

a=imread('4.jpg'); 
imshow(a(:,:,1));%显示红色分量 
imshow(a(:,:,2));  %显示绿色分量 
imshow(a(:,:,3));  %显示蓝色成分

b)读取像素值

每个彩色像素都有三个用于红色,绿色和蓝色的值。 对于图像阵列a,第r行和第c列的图像像素的颜色值存储在a(r,c,:)。例如,第4行和第5列的图像像素的颜色值是a(4,5  ,:)

c)更改像素值要将第4行和第5列的图像像素更改为颜色“红色”(红色= 255,绿色= 0,蓝色= 0),请输入

 a(4, 5, 1) = 255; a(4, 5, 2) = 0; a(4, 5, 3) = 0;

To change all pixels in row 20 to color ‘yellow’ (red = 255, green = 255, blue = 0), type

a(20, :, 1) = 255; a(20, :, 2) = 255; a(20, :, 3) = 0;

d)将颜色转换为灰度图像

可以使用MATLAB函数rgb2gray获得彩色图像的灰度版本:gray_image = rgb2gray(a);

gray_image = rgb2gray(a);
imshow(gray_image);

e)对图像执行算术运算

为了节省内存,MATLAB将图像数据存储为uint8(无符号的8位整数)。 无法对此数据类型执行精确的算术运算(加,减,乘,除)。 因此,要对图像执行算术运算,我们需要使用以下步骤。

使用功能double将图像转换为double数据类型:

a_double = double(a); 

对新图像执行算术运算

a_double = a_double * 2; % scale pixel value by 2 

使用函数uint8将新图像转换为uint8数据类型:

a_uint8 = uint8(a_double); %显示或保存uint8图像

显示或保存uint8图像

imshow(a_uint8);

将图像写入文件

a)要将图像保存到文件,请使用功能imwrite。 该函数的语法为

imwrite(A,filename,fmt),其中

A是存储图像数据的数组,

filename是输出文件名的字符串,fmt是指定图像文件格式的字符串, 例如“ BMP”和“ JPG”。

  例如,要以Windows BMP格式将gray_image保存到文件“ my_image.bmp”,请键入

imwrite(gray_image, ‘my_image.bmp’, ‘BMP’);

要以Windows JPG格式将gray_image保存到文件“ my_image.jpg”,请键入

imwrite(gray_image, ‘my_image.jpg’, ‘JPG’); 使用成像程序查看输出图像,以确认文件已正确保存。

2.5图像处理

示例我们将尝试使用MATLAB程序将数字照片转换为类似绘画的图像。 执行以下步骤。
   检查MATLAB程序“ cartoon.m”是否在当前目录中。
   读取图片文件“ background.bmp”,并将其存储在变量A中。
   调用功能卡通以产生输出图像。
   C =卡通(A);  使用功能子图并排显示图像A和C。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值