Методы обнаружения кромок

Кто-нибудь знает, какие отличия между операторами Prewitt, Sobel и Laplacian в алгоритмах обнаружения границ?

Некоторые лучше других?

Используются ли разные операторы в разных ситуациях?

Ответ 1

Оператор лапласа является оператором производной 2-го порядка, два других являются производными от 1-го порядка, поэтому они используются в разных ситуациях. Собель/Превитт измеряет наклон, а лапласиан измеряет изменение наклона.

Примеры:

Если у вас есть сигнал с постоянным наклоном (градиентом):

Gradient signal: 1 2 3 4 5 6 7 8 9

1-й производный фильтр (Sobel/Prewitt) будет измерять наклон, поэтому отклик фильтра

Sobel result:      2 2 2 2 2 2 2 

Результат фильтра лапширования для этого сигнала равен 0, поскольку наклон постоянный.

Пример 2: Если у вас есть краевой сигнал:

Edge:            0 0 0 0 1 1 1 1 

Результат фильтра sobel имеет один пик; знак пика зависит от направления ребра:

Sobel result:    0 0 0 1 1 0 0 0

Фильтр лапласа дает два пика; расположение края соответствует пересечению нуля результата фильтра лапласа:

Laplace result:  0 0 0 1 -1 0 0 0

Итак, если вы хотите знать направление и край, вы должны использовать фильтр производных 1-го порядка. Кроме того, фильтр Laplace более чувствителен к шуму, чем Sobel или Prewitt.

Фильтры Sobel и Prewitt, с другой стороны, весьма схожи и используются для тех же целей. Важные отличия между фильтрами производных первого порядка

  • Чувствительность к шуму
  • Анизотропия: в идеале результаты фильтра для X/Y должны быть пропорциональны sin α и cos α, где α - угол градиента, а сумма двух квадратов должна быть одинаковой для каждого угла.
  • Поведение в углах

Эти свойства можно измерить с помощью искусственных тестовых изображений (например, знаменитых тестовых шаблонов Jähne, найденных в "Обработка изображений" Берна Яхне). К сожалению, я ничего не нашел в операторе Prewitt в этой книге, поэтому вам придется делать свои собственные эксперименты.

В конце концов, всегда существует компромисс между этими свойствами, и какой из них более важен, зависит от приложения.