1、将命名为’girl.jpg‘的图像移动到MATLAB源程序所在文件夹。如图源程序命名为"dip1",存储文件夹为D:\用户目录\Documents\MATLAB,将需要处理的图片移动到该文件夹。
2、使用imread函数读入该图片,使用imshow函数显示读入的该图像。代码:clear;rgb=imread('girl.jpg');figure(1)imshow(rgb);
3、右键电极目标图像。点击“属性”,再选择“详细信息”,观察图像的大小。本文选用的图像大小为640*960,宽640像素,高960像素。
4、容差设为100,定义R分量大于150,G与B分量小于100的像素点为观察到的红色像色。遍历图像所有像素,是不是红色的像色变成黑的像素(R=G=B=0).代码:for 足毂忍珩i=1:960 for j=1:640 if((rgb(i,j,1)>150&rgb(i,j,2)<100&rgb(i,j,3)<100)==0) rgb(i,j,1)=0; rgb(i,j,2)=0; rgb(i,j,3)=0; end endendfigure(2)imshow(rgb);说明RGB图像可以表示为矩阵(X,Y,N)。X,Y分别为长和宽。N=1,2,3。N=1表示图像的R分量矩阵,2为G分量矩阵,3为B分量矩阵。
5、图像还是有许多噪声的,可采用数学形态学的方法除去噪声。用strel函数生成模版:SE=strel('rectangle',[3 3]);该模版表示3*3的长方形模版。
6、开运算处理,可去除非常小或窄的像素。这里是用MATLAB内置函数先进行腐蚀再进行膨胀,完成开运算。代码:I2=imerode(rgb,SE);%腐蚀figure(3);I3=imdilate(I2,SE);%膨胀imshow(I3);
7、这里提供整个程序的代艨位雅剖码:clear;rgb=imread('girl.jpg');f足毂忍珩igure(1)imshow(rgb);for i=1:960 for j=1:640 if((rgb(i,j,1)>150&rgb(i,j,2)<100&rgb(i,j,3)<100)==0) rgb(i,j,1)=0; rgb(i,j,2)=0; rgb(i,j,3)=0; end endendfigure(2)imshow(rgb);SE=strel('rectangle',[3 3]);I2=imerode(rgb,SE);figure(3);I3=imdilate(I2,SE);imshow(I3);