Bạn có thể tính riêng bitwise hoặc giữa hai hình ảnh bằng cách sử dụng bitwise_xor () phương thức của org.opencv.core.Core lớp học.
Phương thức này chấp nhận ba Mat các đối tượng đại diện cho ma trận nguồn, đích và kết quả, tính toán loại trừ từng bit hoặc của từng phần tử trong ma trận nguồn và lưu trữ kết quả trong ma trận đích.
Ví dụ
Trong ví dụ Java sau đây, chúng tôi đang chuyển đổi một hình ảnh thành nhị phân và thang độ xám và tính toán kết quả loại trừ hoặc theo chiều dọc của bit.
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 BitwiseXORExample { public static void main(String args[]) throws Exception { //Loading the OpenCV core library System.loadLibrary( Core.NATIVE_LIBRARY_NAME ); //Reading the Image String file ="D://images//elephant.jpg"; Mat src = Imgcodecs.imread(file, Imgcodecs.IMREAD_GRAYSCALE ); HighGui.imshow("Grayscale Image", src); //Creating an empty matrix to store the results 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()); //Converting the gray scale image to binary image Imgproc.threshold(src, threshold, 100, 255, Imgproc.THRESH_BINARY_INV); HighGui.imshow("Binary Image", threshold); //Applying bitwise Or operation Core.bitwise_xor(src, threshold, dst); HighGui.imshow("Bitwise XOR operation", dst); HighGui.waitKey(); } }
Hình ảnh đầu vào
Đầu ra
Khi thực thi, chương trình trên tạo các cửa sổ sau -
Hình ảnh Tỷ lệ Xám -
Hình ảnh nhị phân -
Bitwise Xor -