您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 人事档案/员工关系 > matlab图象处理
MATLAB图象处理第一节MATLAB图象处理工具箱支持的图象类型MATLAB图象处理工具箱支持4种图象类型:真彩色图象索引色图象灰度图象二值图象1、真彩色图象又称RGB图象,它是利用R、G、B3个分量表示一个象素的颜色。R、G、B分别代表红、绿、蓝3种不同的颜色,通过三基色可以合成出任意颜色。对于一个尺寸为MXN的真彩色图象来说,在MATLAB中存贮为一个MXNX3的矩阵。2、索引色图象索引色图象把不同的颜色对应为不同的序号,各象素存贮的是颜色的序号而不是颜色本身。MATLAB中的索引色图象包含两个结构,一个是调色板,一个是图象数据矩阵。3、灰度图象灰度图象就是只有强度信息,而没有颜色信息的图象。存贮灰度图象只需要一个数据矩阵,矩阵的每个元素表示对应位置的象素的灰度值。4、二值图象二值图象就是只有黑白两种值的图象,我们可以把它看作是特殊的灰度图象。二值图象只需一个数据矩阵来存储,每个象素只取0或者1。第二节转换图象类型1、ditherX=dither(RGB,map)真彩色图象转换成索引色图象XBW=dither(I)将灰度图象I抖动成二值图象BW2、im2bwBW=im2bw(I,level)BW=im2bw(x,map,level)BW=im2bw(RGB,level)level是归一化的阈值,该函数分别将灰度图象、索引色图象、真彩色图象二值化为BW3、ind2grayI=ind2gray(X,map)将具有调色板map的索引色图象X转换成灰度图象I4、ind2rgbRGB=ind2rgb(X,map)将具有调色板map的索引色转换成真彩色图象RGB5、mat2grayI=mat2gray(A,[amin,amax])I=mat2gay(A)将数据矩阵A转换为灰度图象6、gray2ind[X,map]=gray2ind(I,n)将灰度图象按指定的灰度级数n转换成索引色图象7、rgb2grayI=rgb2gray(RGB)将真彩色图象RGB转换成灰度图象Inewmap=rgb2gray(map)将彩色调色板map转换成灰度调色板8、rgb2indx=rgb2ind(RGB,map)将真彩色图象转换成索引色图象第三节读写和显示图象文件1、imread:读入各种图象文件A=imread(filename,fmt)读入灰度图象和真彩色图象[X,map]=imread(filename,fmt)读入索引色图象2、imwriteimwrite(A,filename,fmt)将图象数据A写入filename.fmt文件中imwrite(X,map,filename,fmt)将图象数据和调色板写入filename.fmt文件中3、Imfinfo:读取图象文件的有关信息info=imfinfo(filename,fmt)4、save和loadsavefilenameX将变量X存入文件名为filename的.mat文件中loadfilenameX把文件名为filename的.mat文件中存贮的变量X读入MATLAB的图象空间5、image:MATLAB本身提供的最原始的图象显示函数。image(X)6、imshow:最常用imshow(BW)imshow(RGB)imshow(X,map)imshow(filename,fmt)7、colorbar:显示颜色条colorbar(‘vert’)colorbar(‘horiz’)colorbar(h)colorbar8、subimage:在一个图象窗口中显示多幅图象。subimage(X,map)subimage(I)subimage(RGB)9、zoom:用于缩放图象zoomon:打开缩放功能zoomoff:关闭缩放功能zoomout:恢复图像的原始尺寸zoomreset:将当前图像尺寸设为缩放的起点zoomxon:设置X轴方向上的缩放功能zoomyon:设置y轴方向上的缩放功能zoom(factor):zoom(fig,option)第四节图象的几何操作1、imresizeB=imresize(A,m,method)将图象A放大m倍,method用于确定插值的方法,可选nearest(最近邻法)、bilinear(双线形插值)和bicubic(双三次插值)。B=imresize(A,[m,n],method)2、imrotate:旋转图象B=imrotate(A,angle,method)3、imcrop:对图象进行剪切imcrop(I)imcrop(X,map)imcrop(RGB)imcrop(X,map,rect)第五节特定区域操作1、roipoly:选择图象中的多边形区域BW=roipoly(I,c,r)BW=roipoly(I)BW=roipoly(x,y,I,xi,yi)2、roicolor:按灰度选择区域BW=roicolor(A,low,high)BW=roicolor(A,v)3、roifilt2:对一个区域滤波J=roifilt2(h,I,BW)J=roifilt2(I,BW,fun)J=roifilt2(I,BW,fun,P1,P2)4、roifill:特定区域填充J=roifill(I,c,r)J=roifill(I)J=roifill(I,BW)第六节图象变换1、fft2:二维快速傅氏变换B=fft2(I)B=fft2(I,m,n)2、fftshift:频谱移中3、ifft2:二维快速傅氏反变换4、dct2:二维离散余弦变换B=dct2(A)B=dct2(A,m,n)5、idct2:二维离散余弦反变换第7节图象增强1、imhist:计算和显示图象直方图imhist(I,n):灰度图象的直方图imhist(X,map);索引色图象的直方图2、histeq:直方图处理J=histeq(I,hgram):将原始图象I的直方图变成用户指定的向量;J=histeq(I,n):直方图均衡化3、imadjust:调整灰度J=imadjust(I,[lowhigh],[bottomtop],gamma)newmap=imadjust(map,[lowhigh],[bottomtop],gamma)第八节二维卷积和二维滤波1、conv2:二维卷积C=conv2(A,B)2、filter2:滤波B=filter2(h,A)3、fspecial:创建预定义的滤波算子h=fspecial(type)h=fspecial(type,para)Type算子的类型:average,gaussian,laplacian,log,prewitt,sobel,unsharp。4、imnoise:模拟噪声生成函数J=imnoise(I,type)J=imnoise(I,type,parameters)type:噪声的类型:gaussian,salt&pepper,speckle5、medfilt2:二维中值滤波B=medfilt2(A)B=medfilt2(A,[m,n])6、wiener2:维纳滤波J=wiener2(I,[m,n])J=wiener2(I,[m,n],noise)
本文标题:matlab图象处理
链接地址:https://www.777doc.com/doc-3382916 .html