📄 代码24-7.txt
字号:
RGB = imread('test.bmp'); % 读入图像
figure, % 新建窗口
imshow(RGB), % 显示原始图像
title('Original Image'); % 设置图像标题
GRAY = rgb2gray(RGB); % 图像灰度转换
figure, % 新建窗口
imshow(GRAY), % 显示处理后的图像
title('Gray Image'); % 设置图像标题
threshold = graythresh(GRAY); % 阈值
BW = im2bw(GRAY, threshold); % 图像黑白转换
figure, % 新建窗口
imshow(BW), % 显示处理后的图像
title('Binary Image'); % 设置图像标题
BW = ~ BW; % 图像反色
figure, % 新建窗口
imshow(BW), % 显示处理后的图像
title('Inverted Binary Image'); % 设置图像标题
[B,L] = bwboundaries(BW, 'noholes'); % 寻找边界
STATS = regionprops(L, 'all'); % 其实只需要参数'BoundingBox'和'Extent',这样写程序简单点。
figure, % 新建窗口
imshow(RGB), % 显示原始图像
title('Results'); % 设置图像标题
hold on % 继续绘图
for i = 1 : length(STATS)
W(i) = uint8(abs(STATS(i).BoundingBox(3)-STATS(i).BoundingBox(4)) < 0.1);
W(i) = W(i) + 2 * uint8((STATS(i).Extent - 1) == 0 );
centroid = STATS(i).Centroid;
switch W(i)
case 1
plot(centroid(1),centroid(2),'wO');
case 2
plot(centroid(1),centroid(2),'wX');
case 3
plot(centroid(1),centroid(2),'wS');
end
end
return
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -