Có rất nhiều khả năng phát hiện cạnh, nhưng 3 ví dụ bạn đề cập xảy ra thuộc 3 loại khác nhau.
Điều này gần đúng một đạo hàm bậc nhất. Cung cấp extrema tại các vị trí gradient, 0 trong đó không có gradient. Trong 1D, nó là = [ - 101]
- cạnh mịn => tối thiểu cục bộ hoặc tối đa, tùy thuộc vào tín hiệu tăng hoặc giảm.
- Dòng 1 pixel => 0 tại chính dòng đó, với cực trị cục bộ (có dấu khác nhau) ngay bên cạnh. Trong 1D, nó là = [ 1- 21]
Có những lựa chọn thay thế khác cho Sobel, có +/- các đặc điểm tương tự. Trên trang Roberts Cross trên wikipedia bạn có thể tìm thấy một so sánh của một vài trong số họ.
Điều này gần đúng một đạo hàm bậc hai. Cho 0 tại các vị trí gradient và cũng 0 khi không có độ dốc. Nó cung cấp cho extrema nơi một gradient (dài hơn) bắt đầu hoặc dừng lại.
- cạnh mịn => 0 dọc theo cạnh, đùn cục bộ tại điểm bắt đầu / dừng của cạnh.
- Dòng 1 pixel => một cực "kép" tại dòng, với điểm cực "bình thường" với một dấu hiệu khác ngay bên cạnh nó
Hiệu quả của 2 cái này trên các loại cạnh khác nhau có thể được nhìn thấy rõ nhất bằng mắt thường:
Đây không phải là một toán tử đơn giản, nhưng là một cách tiếp cận nhiều bước, sử dụng Sobel như một trong những bước. Trong đó Sobel và Laplace cung cấp cho bạn một kết quả thang độ xám / dấu phẩy động mà bạn cần tự vượt qua, thuật toán Canny có ngưỡng thông minh là một trong những bước của nó, vì vậy bạn chỉ nhận được kết quả có / không nhị phân. Ngoài ra, trên một cạnh mịn, bạn có thể sẽ tìm thấy chỉ 1 dòng ở đâu đó ở giữa gradient.