如何使用 OpenCV Java 混合图像?

javaobject oriented programmingprogramming更新于 2025/10/9 16:44:17

您可以使用 Core 类的 addWeighted()  方法在 OpenCV 中混合两幅图像。

此方法接受两个 Mat 对象(表示源矩阵和目标矩阵)和两个双精度值(表示图像 alpha、gamma 的所需权重),并计算它们的加权和。

示例

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 核心库
      System.loadLibrary( Core.NATIVE_LIBRARY_NAME );
      //读取输入图像
      Mat src1 = Imgcodecs.imread("D://images//a1.jpg");
      Mat src2 = Imgcodecs.imread("D://images//a2.jpg");
      //创建一个空矩阵来存储结果
      Mat dst = new Mat();
      //添加两个图像
      Core.addWeighted(src1, 0.4, src2, 0.8, 0, dst);
      HighGui.imshow("Adding two images", dst);
      HighGui.waitKey(0);
   }
} 

Input image1

  

Input Image 2

  

输出

 

相关文章


有用资源