正文

MATLAB图像处理函数(一)2008-12-14 17:41:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/emath/39897.html

分享到:

1applylut

功能:在二进制图像中利用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

 

2bestblk

功能:确定进行块操作的块大小。

语法:siz = bestblk([m n],k) [mb,nb] = bestblk([m n],k)

举例

siz = bestblk([640 800],72) siz = 64 50

相关命令:blkproc

 

3blkproc

功能:实现图像的显式块操作。

语法:

B = blkproc(A,[m n],fun)
B = blkproc(A,[m n],fun,P1,P2,...)
B = blkproc(A,[m n],[mborder nborder],fun,...)
B = blkproc(A,'indexed',...)

举例

I = imread('alumgrns.tif');
I2 = blkproc(I,[8 8],'std2(x)*ones(size(x))');
imshow(I)
figure, imshow(I2,[]);

相关命令:colfilt, nlfilter,inline

 

4brighten
功能:增加或降低颜色映像表的亮度。

语法:

brighten(beta)
newmap = brighten(beta)
newmap = brighten(map,beta)
brighten(fig,beta)

相关命令:imadjust, rgbplot

 

5bwarea
功能:计算二进制图像对象的面积。

语法:total = bwarea(BW)  

举例

BW = imread('circles.tif');
imshow(BW);

bwarea(BW)
ans =15799
 

相关命令:bweuler, bwperim

 

6bweuler
功能:计算二进制图像的欧拉数。

语法:eul = bweuler(BW,n)

举例

BW = imread('circles.tif');
imshow(BW);
bweuler(BW)
ans =
–2

相关命令:bwmorph, bwperim

 

7bwfill
功能:填充二进制图像的背景色。

语法:

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)

举例

BW1 =[1 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 1 0 0 0 1 0 1 0 1 0 0 0 1 1 1 0 1 1 1 1 0 1 1 1 1 0 0 1 1 0 1 0 1 0 0 0 1 0 1 0 1 0 0 0 1 1 1 0]

BW2 = bwfill(BW1,3,3,8) ;BW2 = 1 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 1 1 1 1 1 0 1 0 1 1 1 1 1 1 1 0 1 1 1 1 0 1 1 1 1 0 0 1 1 0 1 0 1 0 0 0 1 0 1 0 1 0 0 0 1 1 1 0 I = imread('blood1.tif'); BW3 = ~im2bw(I); BW4 = bwfill(BW3,'holes'); imshow(BW3) ;figure, imshow(BW4)

相关命令:bwselect, roifill

8bwlabel
功能:标注二进制图像中已连接的部分。

语法:L = bwlabel(BW,n) [L,num] = bwlabel(BW,n)

举例

BW = [1 1 1 0 0 0 0 0
1 1 1 0 1 1 0 0
1 1 1 0 1 1 0 0
1 1 1 0 0 0 1 0
1 1 1 0 0 0 1 0
1 1 1 0 0 0 1 0
1 1 1 0 0 1 1 0
1 1 1 0 0 0 0 0]

L = bwlabel(BW,4)

L =
1 1 1 0 0 0 0 0
1 1 1 0 2 2 0 0
1 1 1 0 2 2 0 0
1 1 1 0 0 0 3 0
1 1 1 0 0 0 3 0
1 1 1 0 0 0 3 0
1 1 1 0 0 3 3 0
1 1 1 0 0 0 0 0

[r,c] = find(L==2);
rc = [r c]

相关命令:bweuler, bwselect

9bwmorph

功能:提取二进制图像的轮廓。

语法:

BW2 = bwmorph(BW1,operation) BW2 = bwmorph(BW1,operation,n)

举例

BW1 = imread('circles.tif');

imshow(BW1);

BW2 = bwmorph(BW1,'remove'); BW3 = bwmorph(BW1,'skel',Inf); imshow(BW2) figure, imshow(BW3)

相关命令:bweuler, bwperim, dilate, erode

10bwperim

功能:计算二进制图像中对象的周长。

语法:

BW2 = bwperim(BW1,n)

举例

BW1 = imread('circbw.tif');
BW2 = bwperim(BW1,8);
imshow(BW1)
figure, imshow(BW2)

相关命令:bwarea, bweuler, bwfill

11bwselect

功能:在二进制图像中选择对象。

语法:

BW2 = bwselect(BW1,c,r,n) BW2 = bwselect(BW1,n) [BW2,idx] = bwselect(...)

举例

BW1 = imread('text.tif');
c = [16 90 144];
r = [85 197 247];
BW2 = bwselect(BW1,c,r,4);
imshow(BW1)
figure, imshow(BW2)

相关命令:bwfill, bwlabel, impixel, roipoly, roifill

12cmpermute

功能:调整颜色映像表中的颜色。

语法:

[Y,newmap] = cmpermute(X,map)
[Y,newmap] = cmpermute(X,map,index)

举例

To order a colormap by luminance, use:
ntsc = rgb2ntsc(map);
[dum,index] = sort(ntsc(:,1));
[Y,newmap] = cmpermute(X,map,index);

相关命令:randperm

 

13cmunique

功能:查找颜色映像表中特定的颜色及相应的图像。

语法:

[Y,newmap] = cmunique(X,map)
[Y,newmap] = cmunique(RGB)
[Y,newmap] = cmunique(I)

相关命令:

gray2ind, rgb2ind

14col2im

功能:将矩阵的列重新组织到块中。

语法:

A = col2im(B,[m n],[mm nn],block_type) A = col2im(B,[m n],[mm nn])

相关命令:blkproc, colfilt, im2col, nlfilter

15colfilt

功能:利用列相关函数进行边沿操作。

语法:

B = colfilt(A,[m n],block_type,fun)
B = colfilt(A,[m n],block_type,fun,P1,P2,...)
B = colfilt(A,[m n],[mblock nblock],block_type,fun,...)
B = colfilt(A,'indexed',...)

相关命令:blkproc, col2im, im2col, nlfilter

16colorbar

功能:显示颜色条。

语法:

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

17conv2

功能:进行二维卷积操作。

语法:

C = conv2(A,B)
C = conv2(hcol,hrow,A)
C = conv2(...,shape)

举例

A = magic(5)

A = 17 24 1 8 15 23 5 7 14 16 4 6 13 20 22 10 12 19 21 3

11 18 25 2 9
B = [1 2 1;0 2 0;3 1 3];
C = conv2(A,B)

相关命令:filter2

18convmtx2

功能:计算二维卷积矩阵。

语法:

T = convmtx2(H,m,n)
T = convmtx2(H,[m n])

相关命令:conv2

19convn

功能:计算n 维卷积。

语法:

C = convn(A,B)
C = convn(A,B,shape)

相关命令:conv2

20corr2

功能:计算两个矩阵的二维相关系数。

语法:r = corr2(A,B)

相关命令:std2

阅读(7004) | 评论(3)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

loading...
您需要登录后才能评论,请 登录 或者 注册