Оператор Лапласа является производным оператором 2-го порядка, два других являются производными операторами 1-го порядка, поэтому они используются в различных ситуациях. Собел / Prewitt измеряют наклон, в то время как лапласиан измеряет изменение наклона.
Примеры:
Если у вас есть сигнал с постоянным наклоном (градиент):
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-го порядка. Кроме того, фильтр Лапласа более чувствителен к шуму, чем Собел или Превитт.
С другой стороны, фильтры Собеля и Преуитта очень похожи и используются для тех же целей. Важные различия между производными фильтрами 1-го порядка:
- Чувствительность к шуму
- Анизотропия: в идеале, результаты фильтра для X / Y должны быть пропорциональны sinα и cosα , где α - угол градиента и сумма два квадрата должны быть одинаковыми для каждого угла.
- Поведение в углах
Эти свойства могут быть измерены с помощью искусственных тестовых изображений (например, знаменитые тестовые таблицы Jähne , найденные в "Обработка изображений" Берна Йене ). К сожалению, в этой книге я ничего не нашел об операторе Prewitt, поэтому вам придется проводить свои собственные эксперименты.
В конце концов, между этими свойствами всегда есть компромисс, и какое из них важнее, зависит от приложения.