Giới thiệu
EmguCV là một thư viện xử lý hình ảnh, thị giác máy tính dành riêng cho ngôn ngữ C#. EmguCV đã xây dựng những control xử lý hình ảnh. Bài viết tiếp tục giới thiệu một số thao tác xử lý ảnh cơ bản với control ImageBox của EmguCV.
Filters
Có ý nghĩa trong việc tạo ra các hiệu ứng ở trong ảnh. Trong bài viết sẽ giới thiệu các chức năng xử lý hình ảnh:
- Conversion
- Gradient, Edges
- Morphology
- Pyramids
- Smooting
- Theshold

Conversion
Chuyển đổi không gian màu đã được giới thiệu trong bài viết Một Số Thao Tác Xử Lý Ảnh Cơ Bản Với EmguCV.
Gradient, Edges
Chức năng tìm biên ảnh (Grandient, edges) của đối tượng trong hình ảnh. Nguyên tắc là nhân(x, *) ma trận điểm ảnh (pixel) cho một ma trận lọc (Kernel, mask). Có 3 bộ lọc có chức năng tìm biên ảnh.
- Sobel: Lọc tìm biên ảnh
- Laplace: Lọc tìm biên ảnh, ước lượng chuyển động của đối tượng trong hình ảnh.
- Canny: Lọc tìm biên ảnh. Trước khi nhân với ma trận lọc, Canny sử dụng bộ lọc Gause để loại nhiễu và làm cho ảnh mờ đi.

Chú ý: Nội dung tiếp theo sẽ có nhắc tới những bộ lọc khác, như ở phần trên đã nói, các bộ lọc đều có một nguyên tắc chung. Tùy vào mục đích của bộ lọc nên mỗi ma trận lọc (Kernel, mask) khác nhau.
Morphology
Bao gồm các phép toán xử lý đối tượng trong ảnh. Thông thường khi Zoom một tấm hình lớn lên hoặc nhỏ xuống, theo nguyên lý của Zoom ảnh thì điểm ảnh (Pixel) sẽ to lên hoặc nhỏ xuống. Nhưng đôi khi có một số đối tượng trong ảnh cần phải phóng lớn lên để nhìn rõ là cái gì?,... Các phép toán phía dưới cho phép điều đó.
- Dilation: phép toán giúp đối tượng trong ảnh có thể dãn kích thước.
- Erosion: phép toán giúp cho đối tượng trong ảnh co kích thước lại.

Pyramids và Smoothing
Đều là những bộ lọc trung vị. Bộ ma trận lọc Smoothing có tác dụng làm mờ, làm trơn, khử nhiễu,... các điểm ảnh.

Threshold
Chức năng có tác dụng sửa thành ảnh nhị phân. Ảnh nhị phân là ảnh mà có các điểm ảnh (Pixel) chỉ mang 2 giá trị là 0 (Đen) hoặc 255 (Trắng).
Nhị phân hóa
Nhị phân hóa một ảnh là quá trình biến đổi một ảnh xám,... thành ảnh nhị phân. Ngưỡng nhị phân T dùng để xách định điểm ảnh của ảnh đó khi chuyển thành điểm nhị phân.
- Nếu giá trị điểm ảnh > T thì chuyển thành điểm ảnh nhị phân mang giá trị 255 (Trắng).
- Nếu giá trị điểm ảnh < T thì chuyển thành điểm ảnh nhị phân mang giá trị 0 (Đen).
Nhị phân hóa với ngưỡng động
Việc chuyển ảnh nhị phân bằng phương pháp nhị phân hóa. Với mỗi giá trị T (Ngưỡng nhị phân) thu được các tấm ảnh nhị phân khác nhau. Vì vậy để tìm một tấm ảnh nhị phân đẹp, sử dụng thêm một phương pháp nữa là nhị phân hóa với ngưỡng động.
- Chia tấm ảnh thành nhiều khu vực khác nhau (Cửa sổ).
- Dùng một thuật toán để tìm một giá trị T phù hợp với từng khu vực (Cửa sổ)
- Áp dụng phương pháp nhị phân hóa cho từng khu vực (Cửa sổ) với T phù hợp

Trong EmguCV có nhiều phương pháp tìm ảnh nhị phân. Để tìm một bức ảnh nhị phân thì cần các tham số sau.
thresholdType
: ngưỡng nhị phân TmaxValue
: giá trị lớn nhất của điểm ảnh (Pixel) trong ảnh (Thông thường là 255)param1
: thông số bù trừ trong trường hợp ảnh có độ tương phản rất lớnblockSize
: kích thước của một vùng cửa sổ áp dụng cho việc tính toán ngưỡng động. Có giá trị (%2 == 1 && > 1)adaptiveMethod
: cách tính T cho từng vùng của nhị phân(vùng cửa sổ)

Transform
Gồm có các chức năng xoay hình ảnh.
- LogPolar
- Rotate
- Flip

Varios
Gồm các chức năng:
Resize
: thay đổi kích thước hình ảnhEqualizeHist
: cân bằng Histogram vì có một số ảnh rất tối hoặc sáng. Dựa trên nguyên lý chuyển màu dạngRGB
sangHSV
, sau đó cân bằng thành phần kênh màu V (Value mức độ sáng) sau đó biển đổi ngược lạiSetRandNormal
SetRandUniform
