⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 代码24-7.txt

📁 matlab宝典书籍源码 全部代码 希望大家喜欢
💻 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 + -