[讨论] 两张二值化影像取联集

楼主: fxxkjoe1231 (糟糕)   2019-05-23 22:29:03
各位好,小弟的问题如下:
有两张二值化影像BW1与BW2,两张影像尺寸一致,
BW1中有许多散布的大型区块;而BW2则是相较之下较小区块散布其中,
目前想要将BW1中对应BW2小区块重叠的区块保留,无重叠的区块值改为0,
想请问版上各位先进是否有推荐的函式或想法供参考?
目前我有想过使用regionprops取出BW1中各区块的二值影像
(假设有BW1有二十万个区块,则分别有二十万张二值影像)
再以循环进行处理,但在运算效能太差,先谢过版上各位!
作者: sunev (Veritas)   2019-05-23 22:45:00
BW1&BW2 ?
作者: sin55688 (单手挑藏獒)   2019-05-24 01:09:00
如果没理解错你的叙述的确,直接两张图点乘就可以了确(x) 话(o)
作者: sppmg (sppmg)   2019-05-24 01:32:00
楼上两楼都可以,1F或许比较快。这两种都是基于像素处理。如果你有其他要求如少于某数量丛集不算可能就不适合。
楼主: fxxkjoe1231 (糟糕)   2019-05-24 17:14:00
大家好,我试了一下,发现以上方法取出来的联集是以pixel为单位,也就是说,如果该区块内若有对应联集的pixel,会保留下来的只有那些pixel而不是完整的区块
作者: kevio (成仔)   2019-05-25 22:57:00
两个矩阵点乘后 再用一个9*9(size可变)的遮罩去处理即可你要大一点就25*25 小一点就3*3 去判断范围内数值为1的多少以上就改为1 多少以下就改为0 这样可删去pixel位置但 原区块会因为大遮罩而边缘变小 所以遮罩大小要慎选你可试试 medfilt2 看看

Links booklink

Contact Us: admin [ a t ] ucptt.com