2015-12-17 2 views
2

У меня есть контуры моих цветных областей и ключевых точек, возвращаемых с goodfeaturestotrack. В этот момент есть точки в границах и точки внутри контуров. Это результат, которого я ожидал. Как мы можем обнаружить контуры, которые окружают точки внутри? (Первый родитель выше)Обнаружение родительских контуров

Я думаю, что это можно сделать с помощью иерархии, но я никогда не использовал его раньше.

+0

- эти контуры, извлеченные canny + findContours (с флагом, чтобы найти не только внешние контуры, но и все)? если нет, укажите образцы изображений, пожалуйста, – Micka

+0

Здравствуйте @Micka. Да, у меня есть все контуры. –

+1

, так что ваш вопрос: «как проверить, находится ли точка/пиксель внутри контура»? существует некоторая функция «isPointInContour», но Im не на 100% уверен. Но вы всегда можете нарисовать контур, заполненный на черном фоне, тест для точки, установлен ли эта маска для этой позиции – Micka

ответ

1

Во-первых, если вы используете cv::findContours, он может вернуть иерархию: хорошее описание можно найти в documentation или в this answer.

Вы также можете проверить каждую свою точку с помощью cv::pointPolygonTest (documentation): она проверяет, находится ли точка внутри контура.

Смежные вопросы