MatlabMatlabMatlabMatlab图像处理函数汇总:1、图像的变换①fft2:fft2函数用于数字图像的二维傅立叶变换,如:i=imread('104_8.tif');j=fft2(i);②ifft2::ifft2函数用于数字图像的二维傅立叶反变换,如:i=imread('104_8.tif');j=fft2(i);k=ifft2(j);2、模拟噪声生成函数和预定义滤波器①imnoise:用于对图像生成模拟噪声,如:i=imread('104_8.tif');j=imnoise(i,'gaussian',0,0.02);%模拟高斯噪声②fspecial:用于产生预定义滤波器,如:h=fspecial('sobel');%sobel水平边缘增强滤波器h=fspecial('gaussian');%高斯低通滤波器h=fspecial('laplacian');%拉普拉斯滤波器h=fspecial('log');%高斯拉普拉斯(LoG)滤波器h=fspecial('average');%均值滤波器2、图像的增强①直方图:imhist函数用于数字图像的直方图显示,如:i=imread('104_8.tif');imhist(i);②直方图均化:histeq函数用于数字图像的直方图均化,如:i=imread('104_8.tif');j=histeq(i);③对比度调整:imadjust函数用于数字图像的对比度调整,如:i=imread('104_8.tif');j=imadjust(i,[0.3,0.7],[]);④对数变换:log函数用于数字图像的对数变换,如:i=imread('104_8.tif');j=double(i);k=log(j);⑤基于卷积的图像滤波函数:filter2函数用于图像滤波,如:i=imread('104_8.tif');h=[1,2,1;0,0,0;-1,-2,-1];j=filter2(h,i);⑥线性滤波:利用二维卷积conv2滤波,如:i=imread('104_8.tif');h=[1,1,1;1,1,1;1,1,1];h=h/9;j=conv2(i,h);⑦中值滤波:medfilt2函数用于图像的中值滤波,如:i=imread('104_8.tif');j=medfilt2(i);⑧锐化(1)利用Sobel算子锐化图像,如:i=imread('104_8.tif');h=[1,2,1;0,0,0;-1,-2,-1];%Sobel算子j=filter2(h,i);(2)利用拉氏算子锐化图像,如:i=imread('104_8.tif');j=double(i);h=[0,1,0;1,-4,0;0,1,0];%拉氏算子k=conv2(j,h,'same');m=j-k;3、图像边缘检测①sobel算子如:i=imread('104_8.tif');j=edge(i,'sobel',thresh)②prewitt算子如:i=imread('104_8.tif');j=edge(i,'prewitt',thresh)③roberts算子如:i=imread('104_8.tif');j=edge(i,'roberts',thresh)④log算子如:i=imread('104_8.tif');j=edge(i,'log',thresh)⑤canny算子如:i=imread('104_8.tif');j=edge(i,'canny',thresh)⑥Zero-Cross算子如:i=imread('104_8.tif');j=edge(i,'zerocross',thresh)4、形态学图像处理①膨胀:是在二值化图像中“加长”或“变粗”的操作,函数imdilate执行膨胀运算,如:a=imread('104_7.tif');%输入二值图像b=[010;111;010];c=imdilate(a,b);②腐蚀:函数imerode执行腐蚀,如:a=imread('104_7.tif');%输入二值图像b=strel('disk',1);c=imerode(a,b);③开运算:先腐蚀后膨胀称为开运算,用imopen来实现,如:a=imread('104_8.tif');b=strel('square',2);c=imopen(a,b);④闭运算:先膨胀后腐蚀称为闭运算,用imclose来实现,如:a=imread('104_8.tif');b=strel('square',2);c=imclose(a,b);MatlabMatlabMatlabMatlab图像处理相关函数命令大全一、通用函数:colorbar显示彩色条语法:colorbar\colorbar('vert')\colorbar('horiz')\colorbar(h)\h=colorbar(...)\colorbar(...,'peer',axes_handle)getimage从坐标轴取得图像数据语法:A=getimage(h)\[x,y,A]=getimage(h)\[...,A,flag]=getimage(h)\[...]=getimageimshow显示图像语法:imshow(I,n)\imshow(I,[lowhigh])\imshow(BW)\imshow(X,map)\imshow(RGB)\imshow(...,display_option)\imshow(x,y,A,...)\imshowfilename\h=imshow(...)montage在矩形框中同时显示多幅图像语法:montage(I)\montage(BW)\montage(X,map)\montage(RGB)\h=montage(...)immovie创建多帧索引图的电影动画语法:mov=immovie(X,map)\mov=immovie(RGB)subimage在一副图中显示多个图像语法:subimage(X,map)\subimage(I)\subimage(BW)\subimage(RGB)\subimage(x,y,...)\subimage(...)truesize调整图像显示尺寸语法:truesize(fig,[mrowsmcols])\truesize(fig)warp将图像显示到纹理映射表面语法:warp(X,map)\warp(I,n)\warp(z,...)warp(x,y,z,...)\h=warp(...)zoom缩放图像语法:zoomon\zoomoff\zoomout\zoomreset\zoom\zoomxon\zoomyon\zoom(factor)\zoom(fig,option)二、图像文件I/O函数命令imfinfo返回图形图像文件信息语法:info=imfinfo(filename,fmt)\info=imfinfo(filename)imread从图像文件中读取(载入)图像语法:A=imread(filename,fmt)\[X,map]=imread(filename,fmt)\[...]=imread(filename)\[...]=imread(URL,...)\[...]=imread(...,idx)(CUR,ICO,andTIFFonly)\[...]=imread(...,'frames',idx)(GIFonly)\[...]=imread(...,ref)(HDFonly)\[...]=imread(...,'BackgroundColor',BG)(PNGonly)\[A,map,alpha]=imread(...)(ICO,CUR,PNGonly)imwrite把图像写入(保存)图像文件中语法:imwrite(A,filename,fmt)\imwrite(X,map,filename,fmt)\imwrite(...,filename)\imwite(...,Param1,Val1,Param2,Val2...)imcrop剪切图像语法:I2=imcrop(I)\X2=imcrop(X,map)\RGB2=imcrop(RGB)\I2=imcrop(I,rect)\X2=imcrop(RGB,rect)\[...]=imcrop(x,y,...)\[A,rect]=imcrop(...)\[x,y,A,rect]=imcrop(...)imresize改变图像大小语法:B=imresize(A,m,method)imrotate旋转图像语法:B=imrotate(A,angle,method)\B=imrotate(A,angle,method,'crop')三、像素和统计处理函数corr2计算两个矩形的二维相关系数语法:r=corr2(A,B)imcontour创建图像数据的轮廓图语法:imcontour(I,n)\imcontour(I,v)\imcontour(x,y,...)\imcontour(...,LineSpec)\[C,h]=imcontour(...)imfeature计算图像区域的特征尺寸语法:stats=imfeature(L,measurements)\stats=imfeature(L,measurements,n)imbist显示图像数据的柱状图impixel确定像素颜色值语法:P=impixel(I)\P=impixel(X,map)\P=impixel(RGB)\P=impixel(I,c,r)\P=impixel(X,map,c,r)\P=impixel(RGB,c,r)\[c,r,P]=impixel(...)\P=impixel(x,y,I,xi,yi)\P=impixel(x,y,RGB,xi,yi)\P=impixel(x,y,X,map,xi,yi)\[xi,yi,P]=impixel(x,y,...)improfile沿线段计算剖面图的像素值语法:c=improfile\c=improfile(n)\c=improfile(I,xi,yi)\c=improfile(I,xi,yi,n)\[cx,cy,c]=improfile(...)\[cx,cy,c,xi,yi]=improfile(...)\[...]=improfile(x,y,I,xi,yi)\[...]=improfile(x,y,I,xi,yi,n)\[...]=improfile(...,method)mean2计算矩阵元素的平均值语法:B=mean2(A)pixval显示图像像素信息语法:pixvalonstd2计算矩阵元素的标准偏移语法:b=std2(A)四、图像分析函数:edge图像边缘检测语法:BW=edge(I,'sobel')\BW=edge(I,'sobel',thresh)\BW=edge(I,'sobel',thresh,direction)\[BW,thresh]=edge(I,'sobel',...)\BW=edge(I,'prewitt')\BW=edge(I,'prewitt',thresh)\BW=edge(I,'prewitt',thresh,direction)\[BW,thresh]=edge(I,'prewitt',...)\BW=edge(I,'roberts')\BW=edge(I,'roberts',thresh)\[BW,thresh]=edge(I,'roberts',...)\BW=edge(I,'log')\BW=edge(I,'log',thresh)\BW=edge(I,'log',thresh,sigma)\[BW,threshold]=edge(I,'log',...)\BW=edge(I,'zerocross',thresh,h)\[BW,thresh]=edge(I,'zerocross',...)\BW=edge(I,'canny')\BW=edge(I,'canny',thresh)\