คุณสามารถผสมผสานสองภาพใน 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
ผลลัพธ์