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: 
Hình ảnh 2: 
Kết quả: 