在下面的图片中,有一些区域非常明亮(即更白)。一些明亮的区域是宽的,有些是窄的或薄的。红色盒子盖着一个这么宽的亮点,蓝色盒子盖着一个薄薄的亮点。薄的亮点称为边缘,宽的亮点称为热点.
我想要删除所有热点从图像(即使他们黑色),但不应该删除边缘。
我的问题是如何使用OpenCV编写Python代码以删除所有热点但没有边缘?
发布于 2023-06-01 20:31:12
生成图像的大津二值化副本,并将其命名为图像2。
在上面执行冲蚀,并调用该图像3。现在热点仍然存在,而边缘已经消失。此时的简单检查将使用此结果来掩盖原始图像1。
若要生成最终图像,请选择阈值距离K,并在图像1's像素上迭代,随走复制。如果该像素存在于图像2中,则将其清除为黑色,并且您可以在图像3中的K像素内找到一个仍被照亮的像素。
另一种方法是使用侵蚀图像3中的几个连接组件在原始图像中执行洪涝 填充。这里棘手的方面是处理自适应阈值。也许最好让大津考虑为loDiff和upDiff选择本地合适的值。
https://softwareengineering.stackexchange.com/questions/445842
相似问题