文章和代码以及样例图片等相干资源,曾经归档至【Github仓库:digital-image-processing-matlab】或者公众号【AIShareLab】回复 数字图像处理 也可获取。
11.bwselect
性能:在二进制图像中选择对象。语法:
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
12.cmpermute
性能:调整色彩映像表中的色彩。
语法:
[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])
相干命令:
blkproc, colfilt, im2col, nlfilter
15.colfilt
利用列相干函数进行边际操作。语法:
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
16.colorbar
性能:显示色彩条。语法:
colorbar('vert') colorbar('horiz') colorbar(h) colorbarh = 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 =17 24 1 8 1523 5 7 14 164 6 13 20 2210 12 19 21 311 18 25 2 9B = [1 2 1;0 2 0;3 1 3] B =1 2 10 2 03 1 3C = conv2(A,B) C =17 58 66 34 32 38 1523 85 88 35 67 76 1655 149 117 163 159 135 6779 78 160 161 187 129 5123 82 153 199 205 108 7530 68 135 168 91 84 933 65 126 85 104 15 27
相干命令:
filter2
18.convmtx2
性能:计算二维卷积矩阵。语法:
T = convmtx2(H,m,n) T = convmtx2(H,[m n])
相干命令:
conv2
19.convn
性能:计算n 维卷积。
语法:
C = convn(A,B)C = convn(A,B,shape)
相干命令: conv2
20.corr2
性能:计算两个矩阵的二维相关系数。
语法:
r = corr2(A,B)
相干命令: std2
21.dct2
性能:进行二维离散余弦变换。语法:
B = dct2(A)B = dct2(A,m,n)B = dct2(A,[m n])
举例
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
性能:计算离散余弦变换矩阵。
语法:
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
性能:转换数据为双精度型。
语法:
B = double(A)
举例
A = imread('saturn.tif'); B = sqrt(double(A));
相干命令:
im2double, im2uint, uint8
参考文献:
[1] Rafael C. Gonzalez, Richard E. Woods, and Steven L. Eddins. 2003. Digital Image Processing Using MATLAB. Prentice-Hall, Inc., USA.
[2] [阮秋琦. 数字图像处理(MATLAB版)[M]. 北京:电子工业出版社, 2014.](https://github.com/timerring/digital-image-processing-matlab/blob/main/reference/Digital_Image_Processing_(MATLAB_version).pdf)
[3] [冈萨雷斯. 数字图像处理(第三版)[M]. 北京:电子工业出版社, 2011.](https://github.com/timerring/digital-image-processing-matlab/blob/main/reference/Digital_Image_Processing_(Third_Edition).pdf)