Matlab常用图像处理命令108例-matlab图像处理第27期(附完整代码)

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


参考文献

  1. Gonzalez, Rafael C., Richard E. Woods, and Steven L. Eddins. Digital Image Processing Using MATLAB. Prentice-Hall, 2003.
  2. 阮秋琦. 数字图像处理(MATLAB版). 北京:电子工业出版社, 2014.
  3. 冈萨雷斯. 数字图像处理(第三版). 北京:电子工业出版社, 2011.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值