Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

วิธีผสมผสาน (Blend) รูปภาพสองภาพด้วย OpenCV Java

คุณสามารถผสมผสานรูปภาพสองภาพใน 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

วิธีผสมผสาน (Blend) รูปภาพสองภาพด้วย OpenCV Java

รูปภาพ Input 2

วิธีผสมผสาน (Blend) รูปภาพสองภาพด้วย OpenCV Java

ผลลัพธ์

วิธีผสมผสาน (Blend) รูปภาพสองภาพด้วย OpenCV Java