《MATLAB图像处理工具箱函数讲课讲稿.doc》由会员分享,可在线阅读,更多相关《MATLAB图像处理工具箱函数讲课讲稿.doc(34页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、MATLABMATLAB 图像图像处理工具箱函数处理工具箱函数Good is good,but better carries it.精益求精,善益求善。-表 A-1 通用函数-函数功能语法Colorbar显示颜色条colorbarcolorbar(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,
2、lowhigh)Imshow(BW)-Imshow(X,map)Imshow(RGB)Imshow(,display_option)Imshow(x,y,A,)ImshowfilenameH=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)Subim
3、age(RGB)Subimage(x,y,)H=subimage()Truesize调整图像显示尺寸Truesize(fig,mrowsmcols)Truesize(fig)Warp将图Warp(X,map)-表 A-2 几何操作函数像显示到纹理映射表面Warp(I,n)Warp(z,)Warp(x,y,z,)H=warp()Zoom缩放图像ZoomonZoomoffZoomoutZoomresetzoomzoomxonzoomyonzoom(factor)zoom(fig,option)-函数功能语法Imcrop剪切图像I2=imcrop(I)X2=imcrop(X,map)RGB2=imc
4、rop(RGB)I2=imcrop(I,rect)RGB2=imcrop(RGB,rect)=imcrop(x,y,)A,rect=imcrop()x,y,A,rect=imcrop()Imresize改变图像大小B=imresize(A,m,method)Imrotate旋转图像B=imrotate(A,angel,method)B=imrotate(A,angel,method,crop)-表 A-3 图像文件 I/O 函数函数功能语法Imfinfo返回图形文件信息Info=imfinfo(filename,fmt)Info=imfinfo(filename)Imread从图形文件中读取图
5、像A=imrea(filename,fmt)X,map=imrea(filename,fmt)=imread(filename)=imread(URL,)=imread(idx)(CUR,ICO,andTIFFonly)=imread(,frames,idx)(GIFonly)=imread(,ref)(HDFonly)=imread(,backGrounColor,BG)(PNGonly)A,map,alpha=imread()(ICO,CURandPNGonly)-Imwrite把图像写入图形文件中Imwrite(A,filename,fnt)Imwrite(X,map,filename,
6、fmt)Imwrite(,filename)Imwrite(,Param1,Val1,Param2,Val2,)表 A-4 线性滤波函数函数功能语法Conv2进行二维卷积操作C=conv2(A,B)C=conv2(hcol,hrow,A)C=conv2(,shape)Convmtx2计算二维卷积矩阵T=convmtx2(H,m,n)T=convmtx2(H,m,n)Convn计算 n 维卷积C=convn(A,B)C=convn(A,B,shape)-Filter2进行二维线性过滤操作Y=filter2(h,x)Y=filter2(h,X,shape)Fspecial创建预定义过滤器H=fsp
7、ecial(type)H=fspecial(type,parameters)表 A-5 像素和统计处理函数函数功能语法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)Imhist显示图像数据的柱状图Imhist(I,n)Im
8、hist(X,map)count,X=imhist()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,X,map,xi,yi)P=impixel(x,y,RGB,xi,yi)-xi,yi,P=impixel(x,y,)Improfile沿线段计算剖面图的像素值C=improfileC=improfile(n)C=improf
9、ile(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)-元素的标准偏移表 A-6 图像增强函数函数功能语法Histeq用柱状图均衡化增强对比J=histeq(I,hgram)J=histeq(I,n)J,T=histeq(I,)New
10、map=histeq(X,map,hgram)Newmap=histeq(X,map)newmap,T=histeq(X,)Imadjust调整图像灰度值或J=imadjust(I,low_inhigh_in,low_outhigh_out,gamma)Newmap=imadjust(map,low_inhigh_in,low_outhigh_out,gamma)RGB2=imadjust(RGB1,)-颜色映射表Imnoise增强图像渲染效果J=imnoise(I,type)J=imnoise(I,type,parameters)Medfilt2进行二维中值过滤B=medfilt2(A,m,
11、n)B=medfilt2(A)B=medfilt2(A,indexed,)Ordfilt2进行二维统计顺B=ordfilt2(A,order,domain)B=ordfilt2(A,order,domain,S)B=ordfilt2(,padopt)-序过滤Wiener2进行二维适应性去噪过滤处理J=wiener2(I,m,n,noise)J,noise=wiener2(I,m,n)表 A-7 图像分析函数函数功能语法Edge识别强度图像中BW=edge(I,sobel)BW=edge(I,sobel,thresh)BW=edge(I,sobel,thresh,direction)BW,thr
12、esh=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,thresh=edge(I,log,)BW=edge(I,zerocross,t
13、hresh,h)BW,thresh=edge(I,zerocross,)BW=edge(I,canny)BW=edge(I,canny,thresh)BW=edge(I,canny,thresh,sigma)BW,threshold=edge(I,canny,)Qtgetblk获取四叉vals,r,c=qtgetblk(I,S,dim)vals,idx=qtgetblk(I,S,dim)-树中的块值Qtsetblk设置四叉树中的块值J=qtsetblk(I,S,dim,vals)表 A-8 线性二维滤波设计函数函数功能语法Frespace确定二维频率响应频率空间f1,f2=freqspace(
14、n)f1,f2=freqspace(m,n)x1,y1freqspace(,meshgrid)F=freqspace(N)F=freqspace(N,whole)-Freqz2计算二维频率响应H,f1,f2=freqz2(h,n1,n2)H,f1,f2=freqz2(h,n2,n1)H,f1,f2=freqz2(h,f1,f2)H,f1,f2=freqz2(h)=freqz2(h,dx,dy)=freqz2(h,dx)Freqz2()Fsamp2用频率采样法设计二维FIR过滤器H=fsamp2(Hd)H=fsamp2(f1,f2,Hd,m,n)Ftrans2通过频率转换设计二维FIR过滤器H=
15、ftrans2(b,t)H=ftrans2b)-Fwind1用一维窗口法设计二维FIR过滤器H=fwind1(Hd,win)H=fwind1(Hd,win1,win2)H=fwind1(f1,f2,Hd,)Fwind2用二维窗口法设计二维FIR过滤器H=fwind2(Hd,win)H=fwind2(f1,f2,Hd,win)表 A-9 二进制图像操作函数函数功能语法Applylut在二进制图像中利用lookup 表进行边沿操作A=applylut(BW,LUT)-Bwarea计算二进制图像对象的面积Total=bwarea(BW)Bweuler计算二进制图像的欧拉数Eul=bweuler(BW
16、,n)Bwfill填充二进制图像的背景Bw2=bwfill(BW1,c,r,n)BW2=bwfill(BW1,n)BW2,idx=bwfill()BW2=bwfill(x,y,BW1,xi,yi,n)x,y,BW2,idx,xi,yi=bwfill()BW2=bwfill(BW1,holes,n)BW2,idx=bwfill(BW1,holes,n)Bwlabel标注二进制图像中已连接的部分L=bwlabel(BW,n)L,num=bwlabel(BW,n)Bwmorph提取二进制图像的轮廓BW2=bwmorph(BW1,operation)BW2=bwmorph(BW1,operation,
17、n)-Bwperim计算二进制图像中对象的周长BW2=bwperim(BW1)bW2=bwperim(BW1,CONN)Bwselect在二进制图像中选择对象BW2=bwselect(BW1,c,r,n)BW2=bwselect(BW1,n)BW2,idx=bwselect()BW2=bwselect(x,y,BW1,xi,yi)x,y,BW2,idx,xi,yi=bwselect()Dilate放大二进制图像BW2=dilate(BW1,SE)BW2=dilate(BW1,SE,lag)BW2=dilate(BW1,SE,n)Erode弱化二进制图像的边界BW2=erode(BW1,SE)B
18、W2=erode(BW1,SE,lag)BW2=erode(BW1,SE,n)Makelut创建一个用于applylut()函数的look 表Lut=makelut(fun,n)Lut=makelut(fun,n,P1,P2,)-表 A-10图像变换函数函数功能语法Dct2进行二维离散余弦变换B=dct2(A)B=dct2(A,m,n)B=dct2(A,m,n)Dctmtx计算离散余弦变换矩阵D=dctmtx(n)Fft2进行二维快速傅立叶变换Y=fft2(X)Y=fft2(X,m,n)Fftn进行n 维快速傅立叶变Y=fftn(X)Y=fftn(X,size)-换Fftshift把快速傅立叶
19、变换的DC 组件移到光谱中心Y=fftshift(X)Y=fftshift(X,dim)Idct2计算二维离散反余弦变换B=idct2(A)B=idct2(A,m,n)B=idct2(A,m,n)Ifft2计算二维快速傅立叶反变换Y=ifft2(X)Y=ifft2(X,m,n)Ifftn计算n 维快速傅立叶反变换Y=ifftn(X)Y=ifftn(X,size)Iradon进行反radonI=iradon(P,theta)I=iradon(P,theta,interp,filter,d,n-变换)I,h=iradon()Phantom产生一个头部幻影图像P=phantom(def,n)P=ph
20、antom(E,n)P,E=phantom()Radon计算randon变换R=radon(I,theta)R,xp=radon()表 A-11颜色空间转换函数函数功能语法Hsv2rgb转换 HSV 的值为 RGB 颜色空间M=hsv2rgb(H)Rgb2hsv转化 RGB 的值为 HSV 颜色空间Cmap=rgb2hsv(M)Rgb2ntsc转化 RGB 的值为 NTSC 颜Yiqmap=rgb2ntsc(rgbmap)-色空间YIQ=rgb2ntsc(RGB)Rgb2ycbcr转化 RGB 的值为 YCBCR颜色空间Ycbcrmap=rgb2ycbcr(rgbmap)YCBCR=rgb2y
21、cbcr(RGB)Ycbcr2rgb转化 YCBCR的值为 RGB颜色空间Rgbmap=ycbcr2rgb(ycbcrmap)RGB=ycbcr2rgb(YCBCR)Ntsc2rgb转化 NTSC 的值为 RGB 颜色空间Rgbmap=ntsc2rgb(yiqmap)RGB=ntsc2rgb(YIQ)表 A-12边沿和块处理函数函数功能语法Bestblk确定进行块操作的块Siz=bestblk(mn,k)mb,nb=bestblk(m,n,k)-大小Blkproc实现图像的显示块操作B=blkproc(A,mn,fun)B=blkproc(A,mn,fun,P1,P2,)B=blkproc(A
22、,mn,mbordernborder,fun,)Col2im将矩阵的列重新组织到块中A=col2im(B,mn,mmnn,block_type)A=col2im(B,mn,mmnn)Colfilt利用列相B=colfilt(b,mn,block_type,fun)B=colfilt(b,mn,block_type,fun,P1,P2,)-关函数进行边沿操作B=colfilt(b,mn,mbordernborder,)B=colfilt(A,indexed,)Im2col重调图像块为列B=im2col(A,mn,block_type)B=im2col(A,mn)B=im2col(A,indexe
23、d,)Nlfilter进行边沿操作B=nlfilter(A,mn,fun)B=nlfilter(A,mn,fun,P1,P2,)B=nlfilter(A,indexed,)表 A-13区域处理函数函数功能语法-Roicolor选择感兴趣的颜色区BW=roicolor(A,low,high)BW=roicolor(A,v)Roifill在图像的任意区域中进行平滑插补J=roifill(I,c,r)J=roifill(I)J=roifill(I,BW)J,BW=roifill()J=roifill(x,y,I,xi,yi)x,y,J,BW,xi,yi=roifill()Roifilt2过滤敏感区域
24、J=roifilt2(h,I,BW)J=roifilt2(I,BW,fun)J=roifilt2(I,BW,fun,P1,P2,)Roipoly选择一个敏感的多边形区域BW=roipoly(I,c,r)BW=roipoly(I)BW=roipoly(x,y,I,xi,yi)BW,xi,yi=roipoly()x,y,BW,xi,yi=roipoly()-表 A-14图像类型和类型转换函数函数功能语法Dither通过抖动增加外观颜色分辨率,转换图像X=dither(RGB,map)BW=dither(I)Gray2ind转换灰度图像为索引色图像X,map=gray2ind(I,n)X,map=g
25、ray2ind(BW,n)Grayslice从灰度图像创建索引图像X=grayslice(I,n)Xgrayslice(I,v)Im2bw转换图像为二进制图像BW=im2bw(I,level)BW=im2bw(I,map,level)BW=im2bw(RGB,level)Im2double转换图像矩阵I2=im2double(I1)-为双精度型RGB2=im2double(RGB1)I=im2double(BW)X2=im2double(X1,dindexed)Double转换数据为双精度型Double(x)Uint8转换数据为 8位无符号整型I=uint8(x)Im2uint8转换图像矩阵为
26、 8 位无符号整型I2=im2uint8(I1)RGB2=im2uint8(RGB1)I=im2uint8(BW)X2=im2uint8(X1,indexed)Im2uint16转换图像矩阵为 16 位无符号整型I2=im2uint16(I1)RGB2=im2uint16(RGB1)I=im2uint16(BW)X2=im2uint16(X1,indexed)-Uint16转换数据为 16位无符号整型I=uint16(x)Ind2gray把索引色图像转换为灰度图像I=ind2gray(X,map)Ind2rgb转化索引图像为 RGB真彩图像RGB=ind2rgb(X,map)Isbw判断是否为
27、二进制图像Flag=isbw(A)Isgray判断是否为灰度图像Flag=isgray(A)Isind判断是否为索引色图Flag=isind(A)-像Isrgb判断是否为RGB 真彩色图像Flag=isrgb(A)Mat2gray转化矩阵为灰度图像I=mat2gray(A,amin,amax)I=mat2gray(A)Rgb2gray转化RGB 图像或颜色映射表为灰度图像I=rgb2gray(RGB)Newmap=rgb2gray(map)Rgb2ind转化RGB 图像为索引色图像X,map=rgb2ind(RGB,tol)X,map=rgb2ind(RGB,nl)X=rgb2ind(RGB,
28、map)=rgb2ind(,dither_option)表 A-15工具箱参数设置函数-函数功能语法Iptgetpref获取图像处理工具箱参数设置Value=iptgetpref(prefname)Iptsetpre设置图像处理工具箱参数Iptsetpref(prefname,value)表 BMATLAB7.0 图像处理工具箱新增函数函数功能语法Adapthisteq限制对比度直方图均衡化J=adapthisteq(I)J=adapthisteq(I,param1,val1,param2,val2,)-Applycform用于色彩空间变换Out=applycform(I,C)Brighten增加或降低颜色映射表的亮度Brighten(beta)Newmap=Brighten(beta)Newmap=brighten(map,beta)Brighten(fig,beta)