MATLAB图像处理相关函数Word下载.docx
《MATLAB图像处理相关函数Word下载.docx》由会员分享,可在线阅读,更多相关《MATLAB图像处理相关函数Word下载.docx(13页珍藏版)》请在冰点文库上搜索。
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显示图像像素信息
pixvalon
std2计算矩阵元素的标准偏移
b=std2(A)
四、图像分析函数:
edge图像边缘检测
BW=edge(I,'
sobel'
)\BW=edge(I,'
thresh)\BW=edge(I,'
thresh,direction)\[BW,thresh]=edge(I,'
...)\BW=edge(I,'
prewitt'
thresh,direction)\
[BW,thresh]=edge(I,'
roberts'
thresh)\[BW,thresh]=edge(I,'
log'
thresh,sigma)\[BW,threshold]=edge(I,'
zerocross'
thresh,h)\[BW,thresh]=edge(I,'
...)\
canny'
...)
qtgetblk获取四叉树分解的块值
[vals,r,c]=qtgetblk(I,S,dim)\[vals,idx]=qtgetblk(I,S,dim)
qtsetblk设置四叉树分解中的块值
J=qtsetblk(I,S,dim,vals)
五、图像增强函数
histeq用柱状图均等化增强对比
J=histeq(I,hgram)\J=histeq(I,n)\[J,T]=histeq(I,...)\newmap=histeq(X,map,hgram)\newmap=histeq(X,map)
imadjust调整图像灰度值或颜色映像表
J=imadjust(I,[low_in,high_in]),[low_out,high_out],gamma)\newmap=imadjust(map,[low_in,high_in]),[low_out,high_out],gamma)\RGB2=imadjust(RGB1,...)
imnoise增强图像的渲染效果
J=imnoise(I,type)\J=imnoise(I,type,parameters)
medfilt2进行二维中值过滤
B=medfilt2(A,[mn])\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,[mn],noise)\[J,noise]=wiener2(I,[mn])
六、线性滤波函数
conv2进行二维卷积操作
C=conv2(A,B)\C=conv2(hcol,hrow,A)\C=conv2(...,'
shape'
convmtx2计算二维卷积矩阵
T=convmtx2(H,m,n)\T=convmtx2(H,[mn])
convn计算n维卷积
C=convn(A,B)\C=convn(A,B,'
filter2进行二维线性过滤操作
Y=filter2(h,X)\Y=filter2(h,X,shape)
fspecial创建预定义过滤器
h=fspecial(type)\h=fspecial(type,parameters)
七、线性二维滤波设计函数
freqspace确定二维频率响应的频率空间
[f1,f2]=freqspace(n)\[f1,f2]=freqspace([mn])\[x1,y1]=freqspace(...,'
meshgrid'
)\f=freqspace(N)\f=freqspace(N,'
whole'
freqz2计算二维频率响应
[H,f1,f2]=freqz2(h,n1,n2)\[H,fi,f2]]=freqz2(h,[n2,n1])\[H,fi,f2]]=freqz2(h,f1,f2])\[H,fi,f2]]=freqz2(h)\[...]=freqz2(h,...,[dxdy])\[...]=freqz2(h,...,dx)\freqz2(...)
fsamp2用频率采样法设计二维FIR过滤器
h=fsamp2(Hd)\h=fsamp2(f1,f2,Hd,[mn])
ftrans2通过频率转换设计二维FIR过滤器
h=ftrans2(b,t)\h=ftrans2(b)
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)
八、图像变换函数
dct2进行二维离散余弦变换(反余弦变换用idct2)
B=dct2(A)\B=dct2(A,m.n)\B=dct2(A,[mn])
dctmtx计算离散余弦傅立叶变换
D=dctmtx(n)
fft2进行二维快速傅立叶变换(反变换用ifft2)
Y=fft2(X)\Y=fft2(X,m,n)
fftn进行n维快速傅立叶变换(反变换用ifftn)
Y=ffn(X)\Y=fftn(X,siz)
fftshift快速傅立叶变换的DC组件移到光谱中心
Y=fftshift(X)\Y=fftshift(X,dim)
iradon进行反radon变换
I=iradon(P,theta)\I=iradon(P,theta,interp,filter,d,n)\[I,h]=iradon(...)
phantom产生一个头部幻影图像
P=phantom(def,n)\P=phantom(E,n)\[P,E]=phantom(...)
radon计算radon变换
R=radon(I,theta)\[R,xp]=radon(...)
九、边沿和块处理函数
bestblk确定进行块操作的块大小
siz=bestblk([mn],k)\[mb,nb]=bestblk([mn],k)
blkproc实现图像的显示块操作
B=blkproc(A,[mn]),fun)\B=blkproc(A,[mn],fun,P1,P2,...)\B=blkproc(A,[mn],[mbordernborder],fun,...)
col2im将矩阵的列重新组织到块中
A=col2im(B,[mn],[mmnn],block_type)\A=col2im(B,[mn],[mmnn])
colfilt利用列相关函数进行边沿操作
B=colfilt(A,[mn],block_type,fun)\B=colfilt(A,[mn],block_type,fun,P1,P2,...)\B=colfilt(A,[mn],[mblocknblock],...)\B=colfilt(A,'
im2col重调图像块为列
B=im2col(A,[mn],block_type)\B=im2col(A,[mn])\B=im2col(A,'
nlfilter进行边沿操作
B=nlfilter(A,[mn],fun)\B=nlfilter(A,[mn],fun,P1,P2,...)\B=nlfilter(A,'
十、二进制图像操作函数
applylut在二进制图像中利用lookup表进行行边沿操作
A=applylut(BW,LUT)
bwarea计算二进制图像对象的面积
total=bwarea(BW)
bweuler计算二进制图像的欧拉数
eul=bweuler(BW)
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,idx]=bwfill(BW1,'
holes'
n)
bwlabel标注二进制图像中已连接的部分
L=bwlabel(BW,n)\[L,num]=bwlabel(BW,n)
bwmorph提取二进制图像的轮廓
BW2=bwmorph(BW1,operation)\BW2=bwmorph(BW1,operation,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,n)\[x,y,BW2,idx,xi,yi]=bwselect(...)
dilate放大二进制图像
BW2=dilate(BW1,SE)\BW2=dilate(BW1,SE,alg)\BW2=dilate(BW1,SE,...,n)
erode弱化二进制图像的边界
BW2=erode(BW1,SE)\BW2=erode(BW1,SE,alg)\BW2=erode(BW1,SE,...,n)
makelut创建一个用于applylut函数的lookup表
lut=makelut(fun,n)\lut=makelut(fun,n,P1,P2,...)
十一、区域处理函数
roicolor选择感兴趣的颜色区
语法:
BW=roicolor(A,low,high)\BW=rocicolor(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过滤敏感区域
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(...)
十二、颜色映像处理函数
brighten增加或降低颜色映像表的亮度
brighten(beta)\brighten(h,beta)\newmap=brighten(beta)\newmap=brighten(cmap,beta)
cmpermute调整颜色映像表中的颜色
[Y,newmap]=cmpermute(X,map)\[Y,newmap]=cmpermute(X,map,index)
cmunigue查找颜色映像表中特定的颜色及相应的图像
[Y,newmap]=cmunigue(X,map)\[Y,newmap]=cmunigue(RGB)\[Y,newmap]=cmunique(I)
imapprox对索引图像进行近似处理
[Y,newmap]=imapprox(X,map,n)\[Y,newmap]=imapprox(X,map,tol)\Y=imapprox(X,map,newmap)\[...]=imapprox(...,dither_option)
rgbplot划分颜色映像表
rgbplot(cmap)
十三、颜色空间转换函数
hsv2rgb转换HSV值为RGB颜色空间:
M=hsv2rgb(H)
ntsc2rgb转换NTSC值为RGB颜色空间:
rgbmap=ntsc2rgb(yiqmap)\RGB=ntsc2rgb(YIQ)
rgb2hsv转换RGB值为HSV颜色空间:
cmap=rgb2hsv(M)
rgb2ntsc转换RGB值为NTSC颜色空间:
yiqmap=rgb2ntsc(rgbmap)\YIQ=rgb2ntsc(RGB)
rgb2ycbcr转换RGB值为YCbCr颜色空间:
ycbcrmap=rgb2ycbcr(rgbmap)\YCBCR=rgb2ycbcr(RGB)
ycbcr2rgb转化YCbCr值为RGB颜色空间:
rgbmap=ycbcr2rgb(ycbcrmap)\RGB=ycbcr2rgb(YCBCR)
十四、图像类型和类型转换函数
dither通过抖动增加外观颜色分辨率转换图像
X=dither(RGB,map)\BW=dither(I)
gray2ind转换灰度图像为索引图像
[X,map]=gray2ind(I,n)\[X,map]=gray2ind(BW,n)
grayslice从灰度图像为索引图像
X=grayslice(I,n)\X=grayslice(I,v)
im2bw转换图像为二进制图像
BW=im2bw(I,level)\BW=im2bw(X,map,level)\BW=im2bw(RGB,level)
im2double转换图像矩阵为双精度型
I2=im2double(I1)\RGB2=im2double(RGB1)\I=im2double(BW)\X2=im2double(X1,'
double转换数据为双精度型
double(X)
unit8、unit16转换数据为8位、16位无符号整型:
i=unit8(x)\i=unit16(x)
im2unit8转换图像阵列为8位无符号整型
I2=im2unit8(I1)\RGB2=im2unit8(RGB1)\I=im2unit8(BW)\X2=im2unit8(X1,'
im2unit16转换图像阵列为16位无符号整型
I2=im2unit16(I1)\RGB2=im2unit16(RGB1)\I=im2unit16(BW)\X2=im2unit16(X1,'
ind2gray把检索图像转化为灰度图像
I=ind2gray(X,map)
ind2rgb转化索引图像为RGB真彩图像
RGB=ind2rgb(X,map)
isbw判断是否为二进制图像
flag=isbw(A)
isgray判断是否为灰度图像
flag=isgray(A)
isind判断是否为索引图像
flag=isind(A)
isrgb判断是否为RGB真彩色图像
flag=isrgb(A)
mat2gray转换矩阵为灰度图像
I=mat2gray(A,[aminamax])\I=mat2gray(A)
rgb2gray转换RGB图像或颜色映像表为灰度图像
I=rgb2