Почему обнаружение краев Canny Edge используется вместо обнаружения краев Sobel / Prewitt перед грубым преобразованием?

9

Я знаю, что для того, чтобы преобразование Хафа работало с изображением, оно должно быть двоичным изображением. Чтобы преобразовать из изображения в градациях серого, следует использовать алгоритм обнаружения краев. Я заметил, что люди всегда используют обнаружение краев Канни вместо других (Собел и т. Д.). Это почему?

AshivD
источник

Ответы:

13

Canny Edge Detection считается лучшим (в смысле False Alarm) обнаружением краев, чем те, которые вы упомянули.
Это, в основном, связано с 2 шагами:

  1. Не максимальное подавление - кандидаты в ребра, которые не являются доминирующими в их окрестности, не считаются ребрами.
  2. Процесс гистерезиса - при движении по кандидатам, если кандидат находится вблизи ребра, порог ниже.

Эти 2 шага уменьшают количество «ложных» ребер и, следовательно, создают лучшую отправную точку для дальнейшего процесса, такого как преобразование Хафа.

Royi
источник
6

Ваше утверждение о том, что преобразование Хафа необходимо применить к двоичному изображению, неверно. Оригинальная HT действительно была сформулирована таким образом, хотя в то же время разные авторы расширили HT разными способами - например, чтобы рассмотреть значения серой шкалы каждого пикселя изображения. Как следствие, этап обнаружения края может быть опущен.

Цитаты о значениях серой шкалы взяты из http://dx.doi.org/10.1109/JSEN.2014.2311160 :

[23] Ф. О'Горман и М. Б. Клоуз, «Нахождение краев изображения через коллинеарность характерных точек», IEEE Trans. Comput., Vol. 25, нет 4, с. 449–456, апрель 1976 г.

[24] J. Skingley и AJ Rye, «Преобразование Хафа, примененное к изображениям SAR для обнаружения тонких линий», Pattern Recognit. Lett., Vol. 6, нет. 1, с. 61–67, 1987.

[25] К. Трейнер, Н. Дж. Бэйли и Б. Р. Хейнс, «Градиент времени Преобразования Хафа - ограничение идентификации объекта по скорости движения», Real-Time Imag., Vol. 6, нет. 2, с. 143–153, 2000.

Питер Пабло
источник
Согласившись, после публикации этого вопроса я также прочитал, что HT не требует двоичного входного изображения. Спасибо!
AshivD