How to blend to images using OpenCV Java?


You can blend two images in OpenCV using the addWeighted() method of the Core class.

This method accepts two Mat objects (representing the source and destination matrices) and two double values representing the desired weights of the images alpha, gamma and calculates the weighted sum of them.

Example


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);
   }
} 

Input image1

  

Input Image 2

  

Output

 


Updated on: 13-Apr-2020

512 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements