文章目录
Matlab常用图像处理命令108例(二)
11. bwselect
功能:在二值图像中选择特定对象。
语法:
BW2 = bwselect(BW1, c, r, n)
BW2 = bwselect(BW1, n)
[BW2, idx] = bwselect(...)
BW1:输入的二值图像。c, r:目标像素点的列、行坐标。n:连通性(4 或 8)。- 返回值
BW2是仅包含选择对象的二值图像。

举例:
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)
map:颜色映射表。index:排列顺序。
举例:
ntsc = rgb2ntsc(map);
[~, 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])
B:输入列式矩阵。[m n]:块大小。[mm nn]:目标图像大小。
相关命令:blkproc, colfilt, im2col, nlfilter
15. colfilt
功能:通过列相关函数进行边缘操作。
语法:
B = colfilt(A, [m n], block_type, fun)
block_type:块操作类型,例如'sliding'或'distinct'。fun:操作函数。
相关命令:blkproc, col2im, im2col, nlfilter
16. colorbar
功能:显示图像的颜色条。
语法:
colorbar('vert')
colorbar('horiz')
colorbar(h)
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);
B = [1 2 1; 0 2 0; 3 1 3];
C = conv2(A, B);
disp(C);
相关命令: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
功能:计算二维离散余弦变换(DCT)。
语法:
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;
相关命令: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
参考文献
- Gonzalez, Rafael C., Richard E. Woods, and Steven L. Eddins. Digital Image Processing Using MATLAB. Prentice-Hall, 2003.
- 阮秋琦. 数字图像处理(MATLAB版). 北京:电子工业出版社, 2014.
- 冈萨雷斯. 数字图像处理(第三版). 北京:电子工业出版社, 2011.
5158

被折叠的 条评论
为什么被折叠?



