我的图像中包含黑色背景上的白色簇。白色部分的簇没有连接在一起,但是我想在整个机箱周围而不是在每个簇周围绘制轮廓。图像已附加。
当我试图形成轮廓时,它会围绕单个群集进行。我是否可以获得有关如何形成一个一般轮廓的提示,帮助或代码。
答案 0 :(得分:3)
opencv凸包功能几乎完全符合您的要求。它“找到了一个点集的凸包。”参见:
我说“差不多”,因为你可能不想直接在左下方切割。
另一种方法是进行N次形态学扩张,直到你只有一个连续的白色区域。您需要考虑如何有效地检查是否只剩下一个白色区域。然后侵蚀N次以回到与原始相同的东西(但只是一个连续的形状)。然后找到轮廓。如果你这样做,你需要将图像嵌入更大的黑色背景中,以便有扩张的空间。 参见:
答案 1 :(得分:1)
您可以使用HoughLines
查找图片中的行。
你的外缘应该是最长的线。
也许将此与user2151446的扩张理念结合起来可以获得更好的效果。
答案 2 :(得分:0)