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.


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

Input image1


Input Image 2




Updated on: 13-Apr-2020


Kickstart Your Career

Get certified by completing the course

Get Started