你的笑容是我的权世界 2019-06-09 11:50
浏览 919

连通域过滤,利用筛选条件进行二值图像连通域的过滤

stats = regionprops(openbw, 'BoundingBox' ,'Area','Centroid' ,'PixelList' ); %统计白色的连通区域Centroid拒信,
centroids = cat(1, stats.Centroid);
figure('name','regionprops'); %regionprops连通域标记
%绘制开操作之后的二值化图像
imshow(openbw);%title('centroids')

IM2 = imclearborder(openbw,8);
hold on
通过以上函数,确定出二值图片中的一些连通域,接下来通过一些筛选条件,即连通域宽高比<1的无用连通域过滤掉,想把无用的连通域设置为背景色(黑色)。请问如何将这些区域设置为黑色??????
已有思路:得到的矩阵L应该是一个和源图像素相同的矩阵,然后每个联通区域在L中对应的数值不同,比如第n个联通区域在L中就是一堆n,所以判断出第n个区域不需要后,将L中对应的数值置0(背景),然后L的所有像素值为0的是背景色不为0的是需要的联通区域。大概就是这样。

请问代码具体怎么写,比如,我是根据连通域的长宽比进行过滤,如何将长宽比<1的连通域都置为背景0。利用上面的方法是,第i个长宽比<1的话, 就将L连通域中为 i 的数置0,但是具体怎么写代码,我代码基础很差,希望贴下代码,大家互相学习。

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 import arcpy出现importing _arcgisscripting 找不到相关程序
    • ¥15 onvif+openssl,vs2022编译openssl64
    • ¥15 iOS 自定义输入法-第三方输入法
    • ¥15 很想要一个很好的答案或提示
    • ¥15 扫描项目中发现AndroidOS.Agent、Android/SmsThief.LI!tr
    • ¥15 怀疑手机被监控,请问怎么解决和防止
    • ¥15 Qt下使用tcp获取数据的详细操作
    • ¥15 idea右下角设置编码是灰色的
    • ¥15 全志H618ROM新增分区
    • ¥15 在grasshopper里DrawViewportWires更改预览后,禁用电池仍然显示