logo资料库

MATLAB 高级应用——图形及影像处理——matlab图像处理命令.pdf

第1页 / 共52页
第2页 / 共52页
第3页 / 共52页
第4页 / 共52页
第5页 / 共52页
第6页 / 共52页
第7页 / 共52页
第8页 / 共52页
资料共52页,剩余部分请下载后查看
附录 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([m n],k) [mb,nb] = bestblk([m n],k) 举例 siz = bestblk([640 800],72) siz = 50 64 相关命令: blkproc 3.blkproc 功能:
320 MATLAB 高级应用——图形及影像处理 实现图像的显式块操作。 语法: 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,[]); 相关命令: 4.brighten colfilt, nlfilter,inline 功能: 增加或降低颜色映像表的亮度。 语法: brighten(beta) newmap = brighten(beta) newmap = brighten(map,beta) brighten(fig,beta) 相关命令: 5.bwarea imadjust, rgbplot 功能: 计算二进制图像对象的面积。 语法: total = bwarea(BW) 举例 BW = imread('circles.tif'); imshow(BW);
附录 MATLAB 图像处理命令 321 bwarea(BW) ans = 15799 相关命令: 6.bweuler. bweuler, bwperim 功能: 计算二进制图像的欧拉数。 语法: eul = bweuler(BW,n) 举例 BW = imread('circles.tif'); imshow(BW); bweuler(BW) ans = –2 相关命令: 7.bwfill bwmorph, bwperim 功能: 填充二进制图像的背景色。 语法: 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) 举例
322 MATLAB 高级应用——图形及影像处理 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) 相关命令: 8.bwlabel bwselect, roifill 功能: 标注二进制图像中已连接的部分。 语法:
附录 MATLAB 图像处理命令 323 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] rc = 2 5 3 5 2 6 3 6 相关命令: 9.bwmorph bweuler, bwselect 功能: 提取二进制图像的轮廓。 语法: BW2 = bwmorph(BW1,operation) BW2 = bwmorph(BW1,operation,n) 举例 BW1 = imread('circles.tif');
324 MATLAB 高级应用——图形及影像处理 imshow(BW1); BW2 = bwmorph(BW1,'remove'); BW3 = bwmorph(BW1,'skel',Inf); imshow(BW2) figure, imshow(BW3) 相关命令: 10.bwperim bweuler, bwperim, dilate, erode 功能: 计算二进制图像中对象的周长。 语法: BW2 = bwperim(BW1,n) 举例 BW1 = imread('circbw.tif'); BW2 = bwperim(BW1,8); imshow(BW1) figure, imshow(BW2)
附录 MATLAB 图像处理命令 325 相关命令: 11.bwselect bwarea, bweuler, bwfill 功能: 在二进制图像中选择对象。 语法: 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) 相关命令: 12.cmpermute bwfill, bwlabel, impixel, roipoly, roifill
326 MATLAB 高级应用——图形及影像处理 功能: 调整颜色映像表中的颜色。 语法: [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 13.cmunique 功能: 查找颜色映像表中特定的颜色及相应的图像。 语法: [Y,newmap] = cmunique(X,map) [Y,newmap] = cmunique(RGB) [Y,newmap] = cmunique(I) gray2ind, rgb2ind 相关命令: 14.col2im 功能: 将矩阵的列重新组织到块中。 语法: A = col2im(B,[m n],[mm nn],block_type) A = col2im(B,[m n],[mm nn]) 相关命令: 15.colfilt blkproc, colfilt, im2col, nlfilter 功能: 利用列相关函数进行边沿操作。 语法: 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',...)
分享到:
收藏