Обнаружение края изображения в C ++ - PullRequest
1 голос
/ 11 февраля 2011

Я пытаюсь найти способ определить правильность определения края. Я хочу, чтобы на нем были маленькие маркеры, показывающие, где программа определяет края с чем-то вроде х или точек или линий. Я ищу что-то, что делает это: http://en.wikipedia.org/wiki/File:Corner.png

Ответы [ 3 ]

4 голосов
/ 11 февраля 2011

OpenCV имеет детектор фронтов и может использоваться в C ++. Когда это происходит, изображение, на которое вы ссылаетесь, используется в статье, описывающей (один из) встроенных алгоритмов.

2 голосов
/ 11 февраля 2011

Это изображение не является результатом операций обнаружения края!Это обнаружение угла .Они имеют совершенно разные цели:

Обнаружение углов - это подход, используемый в системах компьютерного зрения для извлечения определенных видов функций и вывода содержимого изображения.Обнаружение углов часто используется при обнаружении движения, сопоставлении изображений, отслеживании, наложении изображений, сшивании панорам, 3D-моделировании и распознавании объектов.Обнаружение углов совпадает с темой обнаружения точек интереса.

OpenCV имеет алгоритмы обнаружения углов .Последняя ссылка включает в себя пример исходного кода для VS 2008. Вы также можете проверить эту ссылку для другого примера.Google может предоставить гораздо больше.

2 голосов
/ 11 февраля 2011

Изображение, на которое вы ссылаетесь, не обнаруживает края.

Обнаружение края, как правило, просто обнаруживает резкие изменения яркости в изображении в оттенках серого - вы делаете это с различием, например.Оператор Собеля.

Конкретный поиск углов выполняется либо с помощью SIFT, либо что-то наподобие лапласиана гауссианского

...