OpenCV: контур замкнут или нет - PullRequest
4 голосов
/ 11 июля 2011

Я пытаюсь найти способ определить, является ли контур закрытым,

, но я использую findContours, а не cvFindContours, поэтому у меня нет флагов ..

Любая идеякак это сделать?

Кстати, меня попросили найти количество петель в контуре,

(имеется в виду, сколько раз он пересекает себя).

Возможно ли, что один контур будет иметь петли?

Если да, есть идеи, как узнать, сколько их?

Спасибо,

Тамир.

1 Ответ

0 голосов
/ 13 июля 2011

Я думаю, что вы не можете обнаружить контуры, которые имеют пересечения, используя cvFindContours.если эта функция возвращает контуры, имеющие пересечение, вы можете быть уверены, что этот контур является петлей.Если контур имеет 1 пересечение, например, представьте, что контур соответствует номеру "8", тогда cvFindContours возвращает 3 контура, 2 круга и большой выброс.Я думаю, что вы должны использовать теорию графов для этой задачи.создайте граф, где вершина - это пиксели, которые лежат в контуре, а края графа - это соседние пиксели на изображении.чем вы можете найти все циклы на графике.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...