คุณสามารถผสมผสานรูปภาพสองภาพใน OpenCV ได้โดยใช้เมธอด addWeighted() ของคลาส Core
เมธอดนี้รับอ็อบเจ็กต์ Mat สองตัว (แทน source และ destination matrices) และค่า double สองค่า แทนน้ำหนัก (weights) ของภาพ alpha, gamma และคำนวณ weighted sum ของทั้งสองภาพ
ตัวอย่างโค้ด
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) {
// โหลดไลบรารี OpenCV core
System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
// อ่านรูปภาพ input
Mat src1 = Imgcodecs.imread("D://images//a1.jpg");
Mat src2 = Imgcodecs.imread("D://images//a2.jpg");
// สร้าง matrix ว่างสำหรับเก็บผลลัพธ์
Mat dst = new Mat();
// ผสมผสานสองภาพ
Core.addWeighted(src1, 0.4, src2, 0.8, 0, dst);
HighGui.imshow("Adding two images", dst);
HighGui.waitKey(0);
}
}
รูปภาพ Input 1

รูปภาพ Input 2

ผลลัพธ์
