如何使用 OpenCV Java 混合两幅图像?


你可以使用 addWeighted() 方法混合 OpenCV 中的两幅图像,该方法属于 核心 类。

此方法接受两个 Mat 对象(表示源矩阵和目标矩阵)和两个表示图像 alpha 和 gamma 的预期权重的 double 值,并计算它们加权之后的总和。

示例


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

  

输出

 


更新于: 13-Apr-2020

694次浏览

开启你的 职业生涯

完成课程并获得认证

开始使用
广告
© . All rights reserved.