我想在二进制图像中检测连续或闭合多边形的存在。图像可能包含可变数量边的多边形,也可能根本没有多边形。
以下是积极的案例:
而且,
这是一个否定的案例:
图像处理中是否有任何方法或某些算法来检测连续多边形?
感谢任何形式的帮助。
答案 0 :(得分:2)
我希望你知道如何找到轮廓。
使用cv2.isContourConvex(contour)
可以识别检测到的轮廓是否凸起。凸起是指凸起是否闭合。您将能够使用此函数分隔闭合和开放轮廓,该函数返回布尔值True
或False
。
分离出轮廓后,继续进行进一步分析,确定轮廓是否有边缘。
答案 1 :(得分:2)
答案 2 :(得分:2)
如果你需要同时检测凹面和凸面多边形,那么我可以建议你采用另一种方法,@mdh
已经告诉你了当然,在自相交多边形中可能存在一些误差,和/或图像中有多个轮廓,但这可以通过仅选取轮廓边界框的分割来修复并应用算法每一个。
答案 3 :(得分:1)
我有一个工具来检测图像中的区域和属于该区域的一些属性。 https://github.com/mribrahim/Blob-Detection
认为如果它是一个多边形,它将是一个封闭的区域(正面情况)。
如果没有关闭,它将是一条线(负面情况)。
我可以使用blob检测工具找到区域属性。你可以使用一些属性,如偏心,坚固来区分正面和负面的情况。
例如;负面情况eccentiricity将被关闭为0,因为它是一行