matlib软件巨大,没有安装 找了几个在线网址
http://www.compileonline.com/execute_matlab_online.php
从文件读取图像
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。