Nhà điều hành Prewitt
Toán tử Prewitt được sử dụng để phát hiện cạnh trong ảnh. Nó phát hiện hai loại cạnh
- Các cạnh ngang
- Cạnh dọc
Các cạnh được tính bằng cách sử dụng chênh lệch giữa các cường độ pixel tương ứng của một hình ảnh. Tất cả các mặt nạ được sử dụng để phát hiện cạnh còn được gọi là mặt nạ phái sinh. Bởi vì như chúng tôi đã nói nhiều lần trước đây trong loạt bài hướng dẫn rằng hình ảnh cũng là một tín hiệu nên những thay đổi trong tín hiệu chỉ có thể được tính bằng cách sử dụng sự khác biệt. Vì vậy, đó là lý do tại sao các toán tử này còn được gọi là toán tử phái sinh hoặc mặt nạ phái sinh.
Tất cả các mặt nạ phái sinh phải có các thuộc tính sau:
- Dấu hiệu đối diện nên có trong mặt nạ.
- Tổng mặt nạ phải bằng không.
- Nhiều trọng lượng hơn đồng nghĩa với việc phát hiện nhiều cạnh hơn.
Toán tử Prewitt cung cấp cho chúng ta hai mặt nạ, một để phát hiện các cạnh theo hướng ngang và một để phát hiện các cạnh theo hướng dọc.
Hướng dọc
-1 | 0 | 1 |
-1 | 0 | 1 |
-1 | 0 | 1 |
Mặt nạ trên sẽ tìm thấy các cạnh theo hướng dọc và đó là do cột số không theo hướng dọc. Khi bạn xoay mặt nạ này trên một hình ảnh, nó sẽ cung cấp cho bạn các cạnh dọc trong hình ảnh.
Làm thế nào nó hoạt động
Khi chúng tôi áp dụng mặt nạ này trên hình ảnh, nó sẽ nổi bật các cạnh dọc. Nó đơn giản hoạt động giống như đơn hàng đầu tiên lấy và tính toán sự khác biệt của cường độ pixel trong một vùng cạnh. Vì cột trung tâm bằng 0 nên nó không bao gồm các giá trị ban đầu của hình ảnh mà nó tính toán sự khác biệt của các giá trị pixel bên phải và bên trái xung quanh cạnh đó. Điều này làm tăng cường độ cạnh và nó được nâng cao so với hình ảnh gốc.
Hướng ngang
-1 | -1 | -1 |
0 | 0 | 0 |
1 | 1 | 1 |
Mặt nạ trên sẽ tìm thấy các cạnh theo hướng ngang và đó là vì cột số không đó là theo hướng ngang. Khi bạn chuyển mặt nạ này vào một hình ảnh, nó sẽ làm nổi bật các cạnh ngang trong hình ảnh.
Làm thế nào nó hoạt động
Mặt nạ này sẽ làm nổi bật các cạnh ngang trong hình ảnh. Nó cũng hoạt động trên nguyên tắc của mặt nạ trên và tính toán sự khác biệt giữa các cường độ pixel của một cạnh cụ thể. Vì hàng trung tâm của mặt nạ bao gồm các số không nên nó không bao gồm các giá trị ban đầu của cạnh trong hình ảnh mà nó tính toán sự khác biệt của cường độ pixel trên và dưới của cạnh cụ thể. Do đó làm tăng sự thay đổi đột ngột của cường độ và làm cho cạnh rõ hơn. Cả hai loại mặt nạ trên đều tuân theo nguyên tắc của mặt nạ dẫn xuất. Cả hai mặt nạ đều có dấu hiệu trái ngược nhau và cả hai mặt nạ tổng bằng không. Điều kiện thứ ba sẽ không được áp dụng trong toán tử này vì cả hai mặt nạ trên đều được chuẩn hóa và chúng tôi không thể thay đổi giá trị trong chúng.
Bây giờ là lúc để xem những mặt nạ này hoạt động:
Hình ảnh mẫu
Sau đây là một hình ảnh mẫu mà chúng tôi sẽ áp dụng hai mặt nạ trên cùng một lúc.
Sau khi áp dụng Mặt nạ dọc
Sau khi áp dụng mặt nạ dọc trên hình ảnh mẫu trên, sẽ thu được hình ảnh sau. Hình ảnh này có các cạnh dọc. Bạn có thể đánh giá nó một cách chính xác hơn bằng cách so sánh với hình ảnh các cạnh ngang.
Sau khi áp dụng Mặt nạ ngang
Sau khi áp dụng mặt nạ ngang trên hình ảnh mẫu trên, sẽ thu được hình ảnh sau.
So sánh
Như bạn có thể thấy rằng trong hình đầu tiên mà chúng tôi áp dụng mặt nạ dọc, tất cả các cạnh dọc đều hiển thị hơn hình ảnh ban đầu. Tương tự trong hình thứ hai, chúng tôi đã áp dụng mặt nạ ngang và kết quả là tất cả các cạnh ngang đều có thể nhìn thấy. Vì vậy, theo cách này, bạn có thể thấy rằng chúng tôi có thể phát hiện cả các cạnh ngang và dọc từ một hình ảnh.