Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Java

Kết hợp hai hình ảnh (Blend) sử dụng OpenCV Java

Bạn có thể kết hợp hai hình ảnh trong OpenCV bằng phương thức addWeighted() của lớp Core.

Phương thức này nhận hai đối tượng Mat (ma trận nguồn và đích) và hai giá trị double đại diện cho trọng số (alpha, gamma), tính tổng có trọng số của chúng.

Ví dụ minh họa

import org.opencv.core.Core;
import org.opencv.core.Mat;
import org.opencv.highgui.HighGui;
import org.opencv.imgcodecs.Imgcodecs;

public class AddingTwoImages {
    public static void main(String[] args) {
        // Nạp thư viện OpenCV core
        System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
        
        // Đọc hình ảnh đầu vào
        Mat src1 = Imgcodecs.imread("D://images//a1.jpg");
        Mat src2 = Imgcodecs.imread("D://images//a2.jpg");
        
        // Tạo ma trận rỗng lưu kết quả
        Mat dst = new Mat();
        
        // Kết hợp hai hình ảnh: src1*0.4 + src2*0.8 + 0
        Core.addWeighted(src1, 0.4, src2, 0.8, 0, dst);
        
        HighGui.imshow("Kết hợp hai hình ảnh", dst);
        HighGui.waitKey(0);
    }
}

Hình ảnh đầu vào và kết quả

Hình ảnh 1: Kết hợp hai hình ảnh (Blend) sử dụng OpenCV Java

Hình ảnh 2: Kết hợp hai hình ảnh (Blend) sử dụng OpenCV Java

Kết quả: Kết hợp hai hình ảnh (Blend) sử dụng OpenCV Java