Існує безліч можливостей виявлення ребер, але 3 приклади, які ви згадуєте, трапляються в 3 різних категоріях.
Це приблизна похідна першого порядку. Надає екстремуму в положеннях градієнта, 0, де градієнта немає. У 1D це =[−101]
- гладкий край => локальний мінімум або максимум, залежно від сигналу, що йде вгору або вниз.
- 1 піксельна лінія => 0 на самій лінії, з місцевою крайністю (різної ознаки) прямо біля неї. У 1D це =[1−21]
Є інші альтернативи Собелу, які мають +/- ті ж характеристики. На сторінці Хреста Робертса у вікіпедії ви можете порівняти декілька з них.
Це наближає похідну другого порядку. Дає 0 у положеннях градієнта, а також 0, де градієнта немає. Це дає екстремуму, де починається або зупиняється (довший) градієнт.
- гладкий край => 0 по краю, локальна крайність на початку / зупинці краю.
- 1 піксельна лінія => "подвійний" екстремум на лінії, а "нормальна" екстрема з іншим знаком біля неї
Вплив цих 2 на різні типи країв найкраще можна переглянути візуально:
Це не простий оператор, але це багатоступеневий підхід, який використовує Sobel як один із кроків. Якщо Собель і Лаплас дають результат сірого масштабу / плаваючої точки, який потрібно поправити самостійно, алгоритм Кенні є розумним пороговим значенням як один з його кроків, тому ви просто отримуєте двійковий результат так / ні. Крім того, на плавному краю ви, ймовірно, знайдете лише 1 рядок десь посередині градієнта.