outl4w 0 Жалоба Опубликовано March 2, 2011 Здравствуйте! OpenCV знаю очень плохо, потому как прочитал о нём не более пары недель назад. Но так уж случилось, что мне необходимо составить алгоритм, который по фотографии поверхности металла после обработки дробью умел бы определять количество вмятин (окружностей) и их диаметр. Пример фотографии я приложил. Порылся маленько здесь, попробовал использовать метод Хафа, разные алгоритмы, приведенные здесь на форуме, но что-то вероятность определения очень хромает В принципе, мне не нужна 100% вероятность, но хоть бы самые четко видимые вмятины определял - было бы уже хорошо. Подскажите, пожалуйста, в какую сторону копать, в какие функции углубляться. Был бы весьма благодарен хотя бы приблизительному коду для выполнения этой задачи. Сразу скажу, фотография неважного качества, так как сделана на скорую руку. Если это поможет делу, могу сфотографировать на зеркалку. С огромным уважением. Заранее спасибо. obrazec.bmp Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Виталий 6 Жалоба Опубликовано March 3, 2011 У меня подобная проблема была с детектированием окружности. Метод хаффа работает очень плохо. Используй: 1) фильтр canny 2) поиск контуров cvStartFindContours 3) апроксимация эллипсом cvEllipse 4) отбор нужных эллипсов по параметрам Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах