Bạn có thể tính phép OR bitwise giữa hai hình ảnh bằng phương thức bitwise_or() của lớp org.opencv.core.Core.
Phương thức này chấp 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 disjunction 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 hình ảnh sang nhị phân và thang độ xám rồi tính phép disjunction bitwise của 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 BitwiseORExample {
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("Ảnh thang độ xám", src);
// Tạo ma trận rỗ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());
// Chuyển ảnh thang độ xám sang nhị phân
Imgproc.threshold(src, threshold, 100, 255, Imgproc.THRESH_BINARY_INV);
HighGui.imshow("Ảnh nhị phân", threshold);
// Áp dụng phép Bitwise OR
Core.bitwise_or(src, threshold, dst);
HighGui.imshow("Phép Bitwise OR", dst);
HighGui.waitKey();
}
}
Ảnh đầu vào

Kết quả
Khi thực thi, chương trình tạo ra các cửa sổ sau:
Ảnh thang độ xám –

Ảnh nhị phân –

Bitwise OR –
