matlab图像处理命令集.docx

上传人:b****5 文档编号:7374160 上传时间:2023-01-23 格式:DOCX 页数:46 大小:31.93KB
下载 相关 举报
matlab图像处理命令集.docx_第1页
第1页 / 共46页
matlab图像处理命令集.docx_第2页
第2页 / 共46页
matlab图像处理命令集.docx_第3页
第3页 / 共46页
matlab图像处理命令集.docx_第4页
第4页 / 共46页
matlab图像处理命令集.docx_第5页
第5页 / 共46页
点击查看更多>>
下载资源
资源描述

matlab图像处理命令集.docx

《matlab图像处理命令集.docx》由会员分享,可在线阅读,更多相关《matlab图像处理命令集.docx(46页珍藏版)》请在冰豆网上搜索。

matlab图像处理命令集.docx

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= fspecial('log'); 

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,'meshg

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1