[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',...) 附录 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 =
17 24 1 8 15 23 5 7 14 16 4 6 13 20 22 MATLAB 高级应用——图形及影像处理 328
10 12 19 21 3 11 18 25 2 9 B = [1 2 1;0 2 0;3 1 3] B = 1 2 1 0 2 0 3 1 3
C = conv2(A,B) C =
17 58 66 34 32 38 15 23 85 88 35 67 76 16
55 149 117 163 159 135 67 79 78 160 161 187 129 51 23 82 153 199 205 108 75 30 68 135 168 91 84 9 33 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 功能:
计算两个矩阵的二维相关系数。
附录 MATLAB 图像处理命令 329 语法: 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 功能:
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) 举例
load imdemos saturn2 imshow(saturn2)
B = fftshift(fft2(saturn2));
imshow(log(abs(B)),[]), colormap(jet(64)), colorbar 相关命令:
dct2, fftshift, idct2, ifft2 29.fftn 功能:
进行n 维快速傅里叶变换。 语法: B = fftn(A)