Получить (внутренний край) контурный пиксель с помощью opencv

Я ищу способ извлечь «внутренние» контуры двоичного изображения с помощью opencv. Я знаю, что findContours извлекает контуры, но мне нужен пиксель силуэта, который принадлежит объекту с пороговым значением в моем двоичном изображении, а не внешним контурам.

Вот вымышленное изображение, которое лучше описывает то, что я ищу. Ищу способ выделить красный контур.

findcontours

Я уже пробовал наивный подход, копируя исходное двоичное изображение и уменьшая копию на 2 пикселя с каждой стороны и заполняя края черными пикселями, и использовал findContours, но результат не удовлетворительный.


person NewProggie    schedule 10.04.2013    source источник


Ответы (2)


Небольшое обновление:

Я решил это с помощью эрозии и дилатации opencv.

person NewProggie    schedule 10.04.2013

Вы можете просто запустить findContours() на негативном изображении.

person Adi Shavit    schedule 16.01.2017