Lọc hình ảnh là quá trình sửa đổi hình ảnh bằng cách thay đổi sắc thái hoặc màu sắc của pixel. Nó cũng được sử dụng để tăng độ sáng và độ tương phản. Trong hướng dẫn này, chúng ta sẽ tìm hiểu về một số loại bộ lọc.
Các bài viết liên quan:
Bộ lọc song phương
OpenCV cung cấp hàm song phương () để áp dụng bộ lọc hai bên trên hình ảnh. Bộ lọc hai bên có thể giảm tiếng ồn không mong muốn rất tốt trong khi vẫn giữ cho các cạnh sắc nét. Cú pháp của hàm được đưa ra dưới đây:
Thông số:
- src- Nó biểu thị nguồn của hình ảnh. Nó có thể là hình ảnh 1 kênh 8 bit hoặc dấu phẩy động.
- dst- Nó biểu thị hình ảnh đích có cùng kích thước. Kiểu của nó sẽ giống như hình ảnh src.
- d – Nó biểu thị đường kính của vùng lân cận pixel (kiểu số nguyên) được sử dụng trong quá trình lọc. Nếu giá trị của nó là âm, thì nó được tính từ sigmaSpace.
- sigmaColor – Nó biểu thị sigma bộ lọc trong không gian màu.
- sigmaSpace – Nó biểu thị sigma bộ lọc trong không gian tọa độ.
Hãy xem xét ví dụ sau:
Đầu ra:
Bộ lọc box
Chúng ta có thể thực hiện bộ lọc này bằng cách sử dụng hàm boxfilter (). Nó tương tự như hoạt động làm mờ trung bình. Cú pháp của hàm được đưa ra dưới đây:
Thông số:
- src – Nó biểu thị nguồn của hình ảnh. Nó có thể là hình ảnh 1 kênh 8 bit hoặc dấu phẩy động.
- dst- Nó biểu thị hình ảnh đích có cùng kích thước. Kiểu của nó sẽ giống như hình ảnh src.
- ddepth – Nó biểu thị độ sâu hình ảnh đầu ra.
- ksize – Nó làm mờ kích thước hạt nhân.
- anchor – Nó biểu thị các điểm neo. Theo mặc định, giá trị của nó Trỏ tới tọa độ (-1,1), có nghĩa là mỏ neo nằm ở tâm hạt nhân.
- normalize – Nó là cờ, chỉ định liệu hạt nhân có nên được chuẩn hóa hay không.
- borderType – Một đối tượng số nguyên đại diện cho kiểu đường viền được sử dụng.
Hãy xem xét ví dụ sau:
Đầu ra:
Filter2D
Nó kết hợp một hình ảnh với hạt nhân. Chúng ta có thể thực hiện thao tác này trên ảnh bằng phương thức Filter2D (). Cú pháp của hàm được đưa ra dưới đây:
Thông số:
- zsrc – Nó đại diện cho hình ảnh đầu vào.
- dst- Nó biểu thị hình ảnh đích có cùng kích thước. Kiểu của nó sẽ giống như hình ảnh src.
- kernel – Nó là một nhân tích chập, một ma trận dấu phẩy động kênh đơn. Nếu bạn muốn áp dụng các nhân khác nhau cho các kênh khác nhau, hãy chia hình ảnh thành một mặt phẳng màu riêng biệt bằng cách sử dụng quá trình tách () chúng riêng lẻ.
- anchor – Nó biểu thị các điểm neo, theo mặc định giá trị của nó là Điểm (-1,1), có nghĩa là mỏ neo nằm ở tâm hạt nhân.
- borderType – Một đối tượng số nguyên đại diện cho kiểu đường viền được sử dụng.
Hãy xem xét ví dụ sau
Đầu ra: