MATLAB 图像处理命令.docx

上传人:b****8 文档编号:10122659 上传时间:2023-02-08 格式:DOCX 页数:64 大小:25.87KB
下载 相关 举报
MATLAB 图像处理命令.docx_第1页
第1页 / 共64页
MATLAB 图像处理命令.docx_第2页
第2页 / 共64页
MATLAB 图像处理命令.docx_第3页
第3页 / 共64页
MATLAB 图像处理命令.docx_第4页
第4页 / 共64页
MATLAB 图像处理命令.docx_第5页
第5页 / 共64页
点击查看更多>>
下载资源
资源描述

MATLAB 图像处理命令.docx

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

MATLAB 图像处理命令.docx

MATLAB图像处理命令

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高级应用——图形及影像处理

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图像处理命令

相关命令:

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高级应用——图形及影像处理

功能:

调整颜色映像表中的颜色。

语法:

[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图像处理命令

相关命令:

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图像处理命令

功能:

转换数据为双精度型。

语法:

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高级应用——图形及影像处理

[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图像处理命令

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高级应用——图形及影像处理

功能:

把快速傅里叶变换的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((r<0.1)|(r>0.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((r<0.1)|(r>0.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((r<0.1)|(r>0.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]=getima

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

当前位置:首页 > 法律文书 > 起诉状

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

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