【问题标题】:Image Processing Matlab图像处理 Matlab
【发布时间】:2012-06-16 17:10:21
【问题描述】:

为了去除大部分不需要的边缘,我需要连接图像中的组件,并根据欧拉数过滤掉不完全有一个孔的组件。

我知道我必须使用图像处理函数bwconncompregionprops,但我没有使用它们的经验。

这是我的代码:

rgb=imread('2whgyzr.jpg');
gray_scale = rgb2gray(rgb);
BW3 = edge(gray_scale,'canny',[],1);

这是图片:

提前致谢

【问题讨论】:

    标签: image-processing matlab


    【解决方案1】:

    如果我正确理解您的问题,这应该可以完成工作:

    filtered = false(size(BW3));
    CC = bwconncomp(BW3);
    CC_props = regionprops(CC,'EulerNumber');
    
    for cc_idx = 1:length(CC.PixelIdxList)
       if(CC_props(cc_idx).EulerNumber == 0)
           pixels = CC.PixelIdxList{cc_idx};
           filtered(pixels) = true;
       end
    end
    
    imshow(filtered)
    

    【讨论】:

      猜你喜欢
      • 2014-06-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多