2011-07-11 73 views
4

我tryig找到一种方法来确定是否一个轮廓是否闭合,OpenCV的:是轮廓封闭或不

但我usign findContours而不是cvFindContours所以我没有标志..

任何想法如何做到这一点?

顺便说一句,有人问我找的轮廓环数,

(意思是他多少次跨越自己)。

单轮廓是否有循环?

如果是这样,任何想法如何找到有多少?

谢谢,

坦米尔。

回答

-1

我认为你无法检测到使用cvFindContours的交叉点的轮廓。如果此函数返回具有交点的轮廓,那么您可以确定该轮廓是一个循环。如果轮廓具有1个交点,例如想象轮廓对应于数字“8”,则比cvFindContours返回3个轮廓,2个圆圈和大离群点。我认为你必须使用图论来完成这项任务。创建图形,其中顶点是位于轮廓中的像素,并且图形的边缘是图像中的相邻像素。比你可以找到图中的所有循环。