matlab图像处理.docx
- 文档编号:3582933
- 上传时间:2022-11-24
- 格式:DOCX
- 页数:32
- 大小:23.66KB
matlab图像处理.docx
《matlab图像处理.docx》由会员分享,可在线阅读,更多相关《matlab图像处理.docx(32页珍藏版)》请在冰豆网上搜索。
matlab图像处理
1.applylut
功能:
在二进制图像中利用lookup表进行边沿操作.
语法:
A=applylut(BW,lut)
举例
lut=makelut('sum(x(:
))==4',2);
BW1=imread('text.tif');
BW2=applylut(BW1,lut);
imshow(BW1)
figure,imshow(BW2)
相关命令:
makelut
2.bestblk
功能:
确定进行块操作的块大小.
语法:
siz=bestblk([mn],k)
[mb,nb]=bestblk([mn],k)
举例
siz=bestblk([640800],72)
siz=
6450
相关命令:
blkproc
3.blkproc
功能:
MATLAB高级应用——图形及影像处理320
实现图像的显式块操作.
语法:
B=blkproc(A,[mn],fun)
B=blkproc(A,[mn],fun,P1,P2,...)
B=blkproc(A,[mn],[mbordernborder],fun,...)
B=blkproc(A,'indexed',...)
举例
I=imread('alumgrns.tif');
I2=blkproc(I,[88],'std2(x)*ones(size(x))');
imshow(I)
figure,imshow(I2,[]);
相关命令:
colfilt,nlfilter,inline
4.brighten
功能:
增加或降低颜色映像表的亮度.
语法:
brighten(beta)
newmap=brighten(beta)
newmap=brighten(map,beta)
brighten(fig,beta)
相关命令:
imadjust,rgbplot
5.bwarea
功能:
计算二进制图像对象的面积.
语法:
total=bwarea(BW)
举例
BW=imread('circles.tif');
imshow(BW);
附录MATLAB图像处理命令321
bwarea(BW)
ans=
15799
相关命令:
bweuler,bwperim
6.bweuler.
功能:
计算二进制图像的欧拉数.
语法:
eul=bweuler(BW,n)
举例
BW=imread('circles.tif');
imshow(BW);
bweuler(BW)
ans=
-2
相关命令:
bwmorph,bwperim
7.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)
举例
MATLAB高级应用——图形及影像处理322
BW1=[10000000
11111000
10001010
10001110
11110111
10011010
10001010
10001110]
BW2=bwfill(BW1,3,3,8)
BW2=
10000000
11111000
11111010
11111110
11110111
10011010
10001010
10001110
I=imread('blood1.tif');
BW3=~im2bw(I);
BW4=bwfill(BW3,'holes');
imshow(BW3)
figure,imshow(BW4)
相关命令:
bwselect,roifill
8.bwlabel
功能:
标注二进制图像中已连接的部分.
语法:
附录MATLAB图像处理命令323
L=bwlabel(BW,n)
[L,num]=bwlabel(BW,n)
举例
BW=[11100000
11101100
11101100
11100010
11100010
11100010
11100110
11100000]
L=bwlabel(BW,4)
L=
11100000
11102200
11102200
11100030
11100030
11100030
11100330
11100000
[r,c]=find(L==2);
rc=[rc]
rc=
25
35
26
36
相关命令:
bweuler,bwselect
9.bwmorph
功能:
提取二进制图像的轮廓.
语法:
BW2=bwmorph(BW1,operation)
BW2=bwmorph(BW1,operation,n)
举例
BW1=imread('circles.tif');
MATLAB高级应用——图形及影像处理324
imshow(BW1);
BW2=bwmorph(BW1,'remove');
BW3=bwmorph(BW1,'skel',Inf);
imshow(BW2)
figure,imshow(BW3)
相关命令:
bweuler,bwperim,dilate,erode
10.bwperim
功能:
计算二进制图像中对象的周长.
语法:
BW2=bwperim(BW1,n)
举例
BW1=imread('circbw.tif');
BW2=bwperim(BW1,8);
imshow(BW1)
figure,imshow(BW2)
附录MATLAB图像处理命令325
相关命令:
bwarea,bweuler,bwfill
11.bwselect
功能:
在二进制图像中选择对象.
语法:
BW2=bwselect(BW1,c,r,n)
BW2=bwselect(BW1,n)
[BW2,idx]=bwselect(...)
举例
BW1=imread('text.tif');
c=[1690144];
r=[85197247];
BW2=bwselect(BW1,c,r,4);
imshow(BW1)
figure,imshow(BW2)
相关命令:
bwfill,bwlabel,impixel,roipoly,roifill
12.cmpermute
MATLAB高级应用——图形及影像处理326
功能:
调整颜色映像表中的颜色.
语法:
[Y,newmap]=cmpermute(X,map)
[Y,newmap]=cmpermute(X,map,index)
举例
Toorderacolormapbyluminance,use:
ntsc=rgb2ntsc(map);
[dum,index]=sort(ntsc(:
1));
[Y,newmap]=cmpermute(X,map,index);
相关命令:
randperm
13.cmunique
功能:
查找颜色映像表中特定的颜色及相应的图像.
语法:
[Y,newmap]=cmunique(X,map)
[Y,newmap]=cmunique(RGB)
[Y,newmap]=cmunique(I)
相关命令:
gray2ind,rgb2ind
14.col2im
功能:
将矩阵的列重新组织到块中.
语法:
A=col2im(B,[mn],[mmnn],block_type)
A=col2im(B,[mn],[mmnn])
相关命令:
blkproc,colfilt,im2col,nlfilter
15.colfilt
功能:
利用列相关函数进行边沿操作.
语法:
B=colfilt(A,[mn],block_type,fun)
B=colfilt(A,[mn],block_type,fun,P1,P2,...)
B=colfilt(A,[mn],[mblocknblock],block_type,fun,...)
B=colfilt(A,'indexed',...)
附录MATLAB图像处理命令327
相关命令:
blkproc,col2im,im2col,nlfilter
16.colorbar
功能:
显示颜色条.
语法:
colorbar('vert')
colorbar('horiz')
colorbar(h)
colorbar
h=colorbar(...)
举例
I=imread('blood1.tif');
h= );> I2=filter2(h,I); imshow(I2,[]),colormap(jet(64)),colorbar 17.conv2 功能: 进行二维卷积操作. 语法: C=conv2(A,B) C=conv2(hcol,hrow,A) C=conv2(...,shape) 举例 A=magic(5) A= 17241815 23571416 46132022 MATLAB高级应用——图形及影像处理328 101219213 11182529 B=[121;020;313] B= 121 020 313 C=conv2(A,B) C= 17586634323815 23858835677616 5514911716315913567 797816016118712951 238215319920510875 306813516891849 3365126851041527 相关命令: filter2 18.convmtx2 功能: 计算二维卷积矩阵. 语法: T=convmtx2(H,m,n) T=convmtx2(H,[mn]) 相关命令: conv2 19.convn 功能: 计算n维卷积. 语法: C=convn(A,B) C=convn(A,B,shape) 相关命令: conv2 20.corr2 功能: 计算两个矩阵的二维相关系数. 附录MATLAB图像处理命令329 语法: r=corr2(A,B) 相关命令: std2 21.dct2 功能: 进行二维离散余弦变换. 语法: B=dct2(A) B=dct2(A,m,n) B=dct2(A,[mn]) 举例 RGB=imread('autumn.tif'); I=rgb2gray(RGB); J=dct2(I); imshow(log(abs(J)),[]),colormap(jet(64)),colorbar J(abs(J)<10)=0; K=idct2(J)/255; imshow(K) 相关命令: fft2,idct2,ifft2 22.dctmtx 功能: MATLAB高级应用——图形及影像处理330 计算离散余弦变换矩阵. 语法: D=dctmtx(n) 相关命令: dct2 23.dilate 功能: 放大二进制图像. 语法: BW2=dilate(BW1,SE) BW2=dilate(BW1,SE,alg) BW2=dilate(BW1,SE,...,n) 举例 BW1=imread('text.tif'); SE=ones(6,2); BW2=dilate(BW1,SE); imshow(BW1) figure,imshow(BW2) 相关命令: bwmorph,erode 24.dither 功能: 通过抖动增加外观颜色分辨率,转换图像. 语法: X=dither(RGB,map) BW=dither(I) 相关命令: rgb2ind 25.double 附录MATLAB图像处理命令331 功能: 转换数据为双精度型. 语法: B=double(A) 举例 A=imread('saturn.tif'); B=sqrt(double(A)); 相关命令: im2double,im2uint,uint8 26.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) BW=edge(I,'canny',thresh,sigma) MATLAB高级应用——图形及影像处理332 [BW,threshold]=edge(I,'canny',...) 举例 I=imread('rice.tif'); BW1=edge(I,'prewitt'); BW2=edge(I,'canny'); imshow(BW1); figure,imshow(BW2) 27.erode 功能: 弱化二进制图像的边界. 语法: BW2=erode(BW1,SE) BW2=erode(BW1,SE,alg) BW2=erode(BW1,SE,...,n) 举例 BW1=imread('text.tif'); SE=ones(3,1); BW2=erode(BW1,SE); imshow(BW1) figure,imshow(BW2) 相关命令: bwmorph,dilate 附录MATLAB图像处理命令333 28.fft2 功能: 进行二维快速傅里叶变换. 语法: B=fft2(A) B=fft2(A,m,n) 举例 loadimdemossaturn2 imshow(saturn2) B=fftshift(fft2(saturn2)); imshow(log(abs(B)),[]),colormap(jet(64)),colorbar 相关命令: dct2,fftshift,idct2,ifft2 29.fftn 功能: 进行n维快速傅里叶变换. 语法: B=fftn(A) B=fftn(A,siz) 相关命令: fft2,ifftn 30.fftshift MATLAB高级应用——图形及影像处理334 功能: 把快速傅里叶变换的DC组件移到光谱中心. 语法: B=fftshift(A) 举例 B=fftn(A); C=fftshift(B); 相关命令: fft2,fftn,ifftshift 31.filter2 功能: 进行二维线性过滤操作. 语法: B=filter2(h,A) B=filter2(h,A,shape) 举例 A=magic(6) A= 3516261924 3327212325 3192222720 82833171015 30534121416 43629131811 h=fspecial('sobel') h= 121 000 -1-2-1 B=filter2(h,A,'valid') B= -844-8 -23-44-540 -23-50140 -844-8 相关命令: conv2,roifilt2 32.freqspace 附录MATLAB图像处理命令335 功能: 确定二维频率响应的频率空间. 语法: [f1,f2]=freqspace(n) [f1,f2]=freqspace([mn]) [x1,y1]=freqspace(...,'meshgrid') f=freqspace(N) f=freqspace(N,'whole') 相关命令: fsamp2,fwind1,fwind2 33.freqz2 功能: 计算二维频率响应. 语法: [H,f1,f2]=freqz2(h,n1,n2) [H,f1,f2]=freqz2(h,[n2n1]) [H,f1,f2]=freqz2(h,f1,f2) [H,f1,f2]=freqz2(h) [...]=freqz2(h,...,[dxdy]) [...]=freqz2(h,...,dx) freqz2(...) 举例 Hd=zeros(16,16); Hd(5: 12,5: 12)=1; Hd(7: 10,7: 10)=0; h=fwind1(Hd,bartlett(16)); colormap(jet(64)) freqz2(h,[3232]);axis([-11-1101]) 34.fsamp2 MATLAB高级应用——图形及影像处理336 功能: 用频率采样法设计二维FIR过滤器. 语法: h=fsamp2(Hd) h=fsamp2(f1,f2,Hd,[mn]) 举例 [f1,f2]=freqspace(21,'meshgrid'); Hd=ones(21); r=sqrt(f1.^2+f2.^2); Hd((r0.5))=0; colormap(jet(64)) mesh(f1,f2,Hd) 相关命令: conv2,filter2,freqspace,ftrans2,fwind1,fwind2 35.fspecial 功能: 创建预定义过滤器. 语法: h=fspecial(type) h=fspecial(type,parameters) 举例 I=imread('saturn.tif'); h=fspecial('unsharp',0.5); I2=filter2(h,I)/255; imshow(I) figure,imshow(I2) 相关命令: conv2,edge,filter2,fsamp2,fwind1,fwind2 36.ftrans2 功能: 通过频率转换设计二维FIR过滤器. 语法: 附录MATLAB图像处理命令337 h=ftrans2(b,t) h=ftrans2(b) 举例 colormap(jet(64)) b=remez(10,[00.050.150.550.651],[001100]); [H,w]=freqz(b,1,128,'whole'); plot(w/pi-1,fftshift(abs(H))) 相关命令: conv2,filter2,fsamp2,fwind1,fwind2 37.fwind1 功能: 用一维窗口方法设计二维FIR过滤器. 语法: h=fwind1(Hd,win) h=fwind1(Hd,win1,win2) h=fwind1(f1,f2,Hd,...) 举例 [f1,f2]=freqspace(21,'meshgrid'); Hd=ones(21); r=sqrt(f1.^2+f2.^2); Hd((r0.5))=0; colormap(jet(64)) mesh(f1,f2,Hd) 相关命令: conv2,filter2,fsamp2,freqspace,ftrans2,fwind2 38.fwind2 功能: 用二维窗口方法设计二维FIR过滤器. 语法: h=fwind2(Hd,win) h=fwind2(f1,f2,Hd,win) 举例 [f1,f2]=freqspace(21,'meshgrid'); Hd=ones(21); r=sqrt(f1.^2+f2.^2); Hd((r0.5))=0; colormap(jet(64)) mesh(f1,f2,Hd) MATLAB高级应用——图形及影像处理338 相关命令: conv2,filter2,fsamp2,freqspace,ftrans2,fwind1 39.getimage 功能: 从坐标轴取得图像数据. 语法: A=getimage(h) [x,y,A]=getimage(h) [...,A,flag]=getimage(h) [...]=getimage 举例 imshowrice.tif I=getimage; 40.gray2in
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- matlab 图像 处理