OpenCV - Bộ lọc hộp
Hoạt động của Bộ lọc Hộp tương tự như hoạt động làm mờ trung bình; nó áp dụng hình ảnh hai bên cho một bộ lọc. Tại đây, bạn có thể chọn hộp có nên được chuẩn hóa hay không.
Bạn có thể thực hiện thao tác này trên một hình ảnh bằng cách sử dụng boxFilter() phương pháp của imgproclớp học. Sau đây là cú pháp của phương thức này:
boxFilter(src, dst, ddepth, ksize, anchor, normalize, borderType)
Phương thức này chấp nhận các tham số sau:
src - A Mat đối tượng đại diện cho nguồn (hình ảnh đầu vào) cho hoạt động này.
dst - A Mat đối tượng đại diện cho đích (hình ảnh đầu ra) cho hoạt động này.
ddepth - Một biến kiểu số nguyên đại diện cho độ sâu của hình ảnh đầu ra.
ksize - A Size đối tượng đại diện cho kích thước của hạt nhân làm mờ.
anchor - Một biến kiểu số nguyên đại diện cho điểm neo.
Normalize - Một biến kiểu boolean chỉ định thời tiết hạt nhân sẽ được chuẩn hóa.
borderType - Một đối tượng số nguyên đại diện cho kiểu đường viền được sử dụng.
Thí dụ
Chương trình sau đây trình bày cách thực hiện thao tác Bộ lọc Hộp trên ảnh.
import org.opencv.core.Core;
import org.opencv.core.Mat;
import org.opencv.core.Point;
import org.opencv.core.Size;
import org.opencv.imgcodecs.Imgcodecs;
import org.opencv.imgproc.Imgproc;
public class BoxFilterTest {
public static void main( String[] args ) {
// Loading the OpenCV core library
System.loadLibrary( Core.NATIVE_LIBRARY_NAME );
// Reading the Image from the file and storing it in to a Matrix object
String file = "E:/OpenCV/chap11/filter_input.jpg";
Mat src = Imgcodecs.imread(file);
// Creating an empty matrix to store the result
Mat dst = new Mat();
// Creating the objects for Size and Point
Size size = new Size(45, 45);
Point point = Point(-1, -1);
// Applying Box Filter effect on the Image
Imgproc.boxFilter(src, dst, 50, size, point, true, Core.BORDER_DEFAULT);
// Writing the image
Imgcodecs.imwrite("E:/OpenCV/chap11/boxfilterjpg", dst);
System.out.println("Image Processed");
}
}
Giả sử rằng sau đây là hình ảnh đầu vào filter_input.jpg được chỉ định trong chương trình trên.
Đầu ra
Khi thực hiện chương trình, bạn sẽ nhận được kết quả sau:
Image Processed
Nếu bạn mở đường dẫn được chỉ định, bạn có thể quan sát hình ảnh đầu ra như sau: