คุณสามารถผสมผสานสองภาพใน OpenCV โดยใช้ addWeighted() วิธีการของ Core ชั้นเรียน
เมธอดนี้ยอมรับออบเจ็กต์ Mat สองรายการ (แสดงถึงเมทริกซ์ต้นทางและปลายทาง) และค่าสองค่าที่แสดงน้ำหนักที่ต้องการของอัลฟ่า แกมมาของรูปภาพ และคำนวณผลรวมถ่วงน้ำหนักของออบเจ็กต์เหล่านี้
ตัวอย่าง
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 ) {
//Loading the OpenCV core library
System.loadLibrary( Core.NATIVE_LIBRARY_NAME );
//Reading the input images
Mat src1 = Imgcodecs.imread("D://images//a1.jpg");
Mat src2 = Imgcodecs.imread("D://images//a2.jpg");
//Creating an empty matrix to store the result
Mat dst = new Mat();
//Adding two images
Core.addWeighted(src1, 0.4, src2, 0.8, 0, dst);
HighGui.imshow("Adding two images", dst);
HighGui.waitKey(0);
}
} ใส่รูปภาพ1
ใส่รูปภาพ 2
ผลลัพธ์