我试图找到一种方法来确定轮廓是否闭合,
但我使用的是 findContours 而不是 cvFindContours 所以我没有标志..
知道怎么做吗?
顺便说一句,我被要求找到轮廓中的循环数,
(意思是他自己划了多少次)。
单个轮廓是否可能有环?
如果是这样,任何想法如何找到有多少?
谢谢,
塔米尔。
最佳答案
我认为您无法使用 cvFindContours 检测具有交点的轮廓。如果这个函数返回有交点的轮廓,那么你可以确定这个轮廓是一个循环。如果轮廓有 1 个交点,例如想象轮廓对应于数字“8”,那么 cvFindContours 会返回 3 个轮廓,2 个圆和大的异常值。我认为你必须使用图论来完成这项任务。创建图,其中顶点是位于轮廓中的像素,图的边缘是图像中的相邻像素。比您可以在图中找到所有循环。
关于OpenCV : is a contour closed or not,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6654381/