Как найти контуры на изображении в OpenCV? - PullRequest
4 голосов
/ 25 ноября 2011

Мне нужно найти все контуры на изображении.Я знаю все о функциях findcontours () и drawContours (), но я использую детектор краев Canny, с которым у меня возникают проблемы.Чтобы использовать поиск контуров, вам нужно либо использовать обнаружение кромок, либо пороговое изображение.Я не могу портировать изображение, потому что это приведет к размыванию нескольких краев («слияние» краев).Поэтому я решил использовать обнаружение Canny Edge.Однако, когда я использую его вместо получения идеальных краев, я получаю множество линий с пропусками в них.Это мешает мне получить хорошие контуры. Например, вместо того, чтобы получить края квадрата, я получу 4 отдельные линии, разделенные небольшими пробелами, в результате чего я получу 4 контура вместо одного.Я пробовал расширять, открывать, закрывать, размытие по Гауссу и, в основном, каждый морфологический оператор, но ни один из них не делал свою работу.Некоторые не объединяют строки, а некоторые также объединяют строки с не относящимися к делу линиями.Поэтому мне было интересно, есть ли у кого-нибудь решение о том, как я могу получить фактические контуры из обнаружения Canny Edge, или, если нет, у кого-нибудь есть альтернативы, чтобы получить все контуры из изображения?

1 Ответ

1 голос
/ 26 ноября 2011

сделай блоб, тогда контуры идут вместе с ним. :)

http://code.google.com/p/cvblob/

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