Phương pháp làm mờ ảnh trong xử lý ảnh
Môi trường "hành sự"
Bạn có thể download ảnh mẫu về: Show girl_luv.jpg (Nguồn: bí mật không thể bật mí :v) Ảnh gốc rõ lắm, nhưng mình cố tình tạo thử thách bằng cách thêm nhiễu để có cái để làm cho mấy bộ làm mờ chứ :P Hiệu ứng làm mờ ảnhKhi nhắc đến việc làm mờ hình ảnh, bạn sẽ nghĩ ngay đến việc tại mình phải làm điều đó? Ảnh đang rõ vậy làm mờ chi cho khó nhìn ta?! Thực ra trong xử lý ảnh, phép làm mờ ảnh được dùng rất nhiều và có nhiều vai trò quan trọng. Hiệu ứng làm mờ mang lại (áp dụng trong các trường hợp):
Trong các bài báo về xử lý ảnh, ở bước tiền xử lý họ hay dùng 2 phép biến đổi sau:
Kích thước cửa sổ của các bộ lọc làm thường là SỐ LẺ NGUYÊN DƯƠNG (3, 5, 7, 9, …). Chính vì kích thước lẻ nên ta sẽ chỉ có 1 pixel ở trung tâm kernel, điều này tránh việc ta phải phân vân nên lấy pixel trái hay phải làm pixel trung tâm NẾU kích thước bộ lọc là số chẵn! Việc chọn kích thước bộ lọc thường dựa vào kích thước ảnh đầu vào và kinh nghiệm. Kernel thường được thiết kế hình vuông (tức width = height) Tính toán xử lý cho phép biến đổi làm mờ ảnh chính là dùng toán tử convolution để áp cửa sổ / bộ lọc lên ảnh gốc. Tiếp theo, mình sẽ giới thiệu 3 bộ làm mờ giảm nhiễu phổ biến: Box Filter, Gaussian Filter và Median Filter Bộ lọc mờ trung bình (Box Filter)
box_blur.py
Hãy thử thay đổi các hằng số trong code để trải nghiệm các mức độ làm mờ khác nhau nhé:
Bộ lọc làm mờ Gaussian (Gaussian Filter)
gaussian_blur.py
Hãy thử thay đổi các hằng số trong code để trải nghiệm các mức độ làm mờ khác nhau nhé:
median_blur.py
Hãy thử thay đổi các hằng số trong code để trải nghiệm các mức độ làm mờ khác nhau nhé:
Cảm ơn bạn đã theo dõi bài viết. Hãy kết nối với tớ nhé!
Khám phá xử lý ảnh - GVGroup Danh sách bài viết series OpenCV:
|