【发布时间】:2021-07-28 22:33:55
【问题描述】:
我想在类似于我在下面发布的图像中找到空白区域(黑色区域),我在其中散布了随机大小的块。
通过空格,我指的是这种可能的开放领域(我对该区域没有特别的下限,但我想提取图像中存在的前 3-4 个最大的区域。)也没有限制它们可以采用的几何形状,但这些空白区域不得包含任何蓝色块。
最好的方法是什么?
到目前为止我做了什么:
我的原始图像实际上是这样的。我确定了所有点,根据一定的距离阈值对它们进行分组,并在它们周围应用了一个凸包。我不确定如何进一步进行。任何帮助将不胜感激。谢谢!
【问题讨论】:
-
是的,类似的,但我的近似结果在我的情况下是可以的。
-
我解释一下,但你写了类似的东西,“对于黑色斑点的几何形状没有没有限制,只要黑色斑点blobs do not contain a blue blob" 如果你想找到最大的不包含任何蓝色的黑色 blob,那么只需取整个黑色区域。整个黑色背景是一个非常奇怪的形状,但它肯定没有蓝色。如果没有限制,则允许将黑色的东西视为所有一种形状。我认为您确实对允许使用的几何形状有限制,但您不知道如何表达这些限制。
-
如果你正在寻找凸形,这个问题被称为“凸头骨”,目前已知最好的解决方案是 O(n^7),其中 n 是输入多边形中的顶点数.我认为您最好使用 fmw42 答案中的循环假设。
-
@VS:您对 Samuel 问题的回答并没有真正回答它,因为现在我可以问,“整个黑色区域 减去左上角像素 怎么样? "等等,等等。您需要描述一个允许区域的类别,以便给定任意区域的程序可以确定该区域是否被允许。一个典型的例子可能是“只允许凸多边形”(除非这不是你想要的,因为你的例子包含非凸多边形)。另外,我不清楚您所说的“有界”是什么意思。
标签: python algorithm opencv image-processing