Trong bài viết này Bioz sẽ giới thiệu một loạt các bộ lọc đơn giản có liên quan tới giá trị cực đại (Max) và giá trị cực tiểu (Min). Cũng như các bộ lọc (Filter) thông dụng khác, tôi muốn các bạn hãy hiểu rằng bộ lọc nôm na chỉ là một quá trình xử lý mà khi đưa một bức ảnh (input image) qua đó nó sẽ được biến đổi thành một bức ảnh khác (output image). Trong tình huống của những bộ lọc đơn giản như thế này, giá trị của từng điểm ảnh P(x, y) sẽ được thay đổi bởi bộ lọc dựa vào giá trị các điểm ảnh tham chiếu lân cận (neighbor pixel) theo một nguyên tắc, công thức nào đó. Nói như vậy có nghĩa là các bộ lọc đơn giản khác nhau thông thường phân biệt ở chổ cách người ta xác định các điểm lân cận tham chiếu và nguyên tắc nào được ứng dụng để tính lại giá trị mới cho điểm ảnh dựa vào những điểm tham chiếu đó.
- Các bộ lọc trong bài viết này sẽ đều chọn điểm lân cận tham chiếu là các điểm ảnh nằm trong phạm vi cửa sổ (window) có size AxA với giá trị A lẻ, xoay quanh điểm ảnh xem xét ở trung tâm. Hình dưới đây minh họa cho trường hợp A = 3.
Bạn dễ dàng thấy là điểm ảnh đang xem xét có giá trị 77 nằm giữa và xung quanh là các điểm lân cận tham chiếu của nó. Vì với mỗi điểm ảnh (Pixel), bộ lọc đều phải lặp lại việc tính toán tương tự để tìm ra giá trị mới cho nó nên trong quá trình quét (truy xuất) tuần tự từng điểm ảnh của ảnh, người ta cũng dịch chuyển cửa sổ tham chiếu theo, chính vì vậy mà đôi khi thao tác này còn được gọi là quét cửa sổ qua ảnh.
- Bộ lọc Min - Max: giá trị mới của điểm ảnh đang xét sẽ = Range của các điểm lân cận tham chiếu = Giá trị Max - Giá trị Min. Trong hình trên thì sau khi lọc giá trị điểm ảnh sẽ chuyển từ 77 thành (219 - 10) = 209. Sau đây là ví dụ về kết quả thực nghiệm của bộ lọc Min - Max (lưu ý là hình được xử lý lọc sau khi đã chuyển sang đa mức xám).
- Bộ lọc Maximum: giá trị mới của điểm ảnh đang xét sẽ = Max của các điểm lân cận tham chiếu. Trong hình trên thì sau khi lọc giá trị điểm ảnh sẽ từ 77 thành 219. Sau đây là ví dụ về kết quả thực nghiệm của bộ lọc Maximum.
- Bộ lọc Mid Point: giá trị mới của điểm ảnh đang xét sẽ = (Min của các điểm lân cận tham chiếu + Max của các điểm lân cận tham chiếu) / 2. Trong hình trên thì sau khi lọc giá trị điểm ảnh sẻ từ 77 thành 114. Sau đây là ví dụ về kết quả thực nghiệm của bộ lọc Mid Point.
Lưu ý là trong hình đầu tiên ở trên, chỉ thể hiện loại hình 1 kênh màu vì mỗi pixel chỉ có 1 giá trị, tuy nhiên trong tình huống N > 1 kênh màu như ảnh RGB chẳng hạn, ta có thể áp dụng độc lập với từng kênh, hoặc tìm ra điểm ảnh max, min bằng giá trị xám (greyscale) tương ứng rồi dùng 2 điểm ảnh này áp dụng nguyên tắc trên để tính. Tôi hy vọng rằng thông qua bài viết hết sức nôm na và thực hành này sẽ giúp các bạn có cái nhìn cụ thể hơn về bộ lọc và dễ dàng triển khai chúng. Tuy nhiên không phải lúc nào việc cụ thể hóa tới mức thực hành các vấn đề lý thuyết cũng có ý nghĩa tích cực, cũng như không phải bộ lọc nào cũng đơn giản giống thế này, do vậy mà tôi hy vọng các bạn nên đọc thêm các bài viết mang tính trừu tượng cao hơn, toán hóa hơn để có thể có những phân tích và mở rộng vấn đề tốt hơn.
-- BIOZ --