目录

图像搜索目标框-Matlab中regionprops的使用示例

目录

图像搜索目标框—Matlab中regionprops的使用示例

图像搜索目标框

版权声明:本文为shaoxiaohu原创文章,欢迎转载,请注明出处,谢谢。

有这样一幅图,

https://img-blog.csdn.net/20141019215738500?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvc2hhb3hpYW9odTE=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center

我们想获取其中的连通区域,可以使用以下代码:

[plain]

  1. src_img_name = ‘blue_sky_white_clound_002594.jpg’;
  2. img = imread(src_img_name);
  3. % get binary image
  4. gray_img = rgb2gray(img);
  5. T = graythresh(gray_img);
  6. bw_img = im2bw(gray_img, T);
  7. % find the largest connected region
  8. img_reg = regionprops(bw_img,  ‘area’, ‘boundingbox’);
  9. areas = [img_reg.Area];
  10. rects = cat(1,  img_reg.BoundingBox);

显示所有连通区域,

[plain]

  1. % show all the largest connected region
  2. figure(1),
  3. imshow(bw_img);
  4. for i = 1:size(rects, 1)
  5. rectangle(‘position’, rects(i, :), ‘EdgeColor’, ‘r’);
  6. end

https://img-blog.csdn.net/20141019220051706?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvc2hhb3hpYW9odTE=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center

显示最大连通区域,

[plain]

  1. [~, max_id] = max(areas);
  2. max_rect = rects(max_id, :);
  3. % show the largest connected region
  4. figure(2),
  5. imshow(bw_img);
  6. rectangle(‘position’, max_rect, ‘EdgeColor’, ‘r’);

https://img-blog.csdn.net/20141019215712953?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvc2hhb3hpYW9odTE=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center