Bạn có thể tính phép liên hợp bitwise (bitwise conjunction) giữa hai hình ảnh bằng phương thức bitwise_and() của lớp org.opencv.core.Core.
Phương thức này nhận ba đối tượng Mat đại diện cho ma trận nguồn, đích và kết quả, tính phép liên hợp bitwise của từng phần tử trong các ma trận nguồn và lưu kết quả vào ma trận đích.
Ví dụ
Trong ví dụ Java sau, chúng ta chuyển đổi một hình ảnh thành nhị phân và xám, sau đó tính phép liên hợp bitwise của hai kết quả.
import org.opencv.core.Core;
import org.opencv.core.Mat;
import org.opencv.highgui.HighGui;
import org.opencv.imgcodecs.Imgcodecs;
import org.opencv.imgproc.Imgproc;
public class BitwiseAndExample {
public static void main(String args[]) throws Exception {
// Tải thư viện lõi OpenCV
System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
// Đọc hình ảnh
String file = "D://images//elephant.jpg";
Mat src = Imgcodecs.imread(file, Imgcodecs.IMREAD_GRAYSCALE);
HighGui.imshow("Hình ảnh xám", src);
// Tạo ma trận trống để lưu kết quả
Mat dst = new Mat(src.rows(), src.cols(), src.type());
Mat threshold = new Mat(src.rows(), src.cols(), src.type());
Mat gray = new Mat(src.rows(), src.cols(), src.type());
// Chuyển hình ảnh xám sang nhị phân
Imgproc.threshold(src, threshold, 100, 255, Imgproc.THRESH_BINARY_INV);
HighGui.imshow("Hình ảnh nhị phân", threshold);
// Áp dụng phép bitwise AND
Core.bitwise_and(src, threshold, dst);
HighGui.imshow("Phép Bitwise AND", dst);
HighGui.waitKey();
}
}
Hình ảnh đầu vào

Kết quả
Chương trình trên tạo ra các cửa sổ sau khi thực thi:
Hình ảnh xám

Hình ảnh nhị phân

Bitwise AND
