三、OpenCV之图像的混合

三、OpenCV之图像的混合(混合函数Core.addWeighted())

混合函数
三、OpenCV之图像的混合_第1张图片
        f0(x)、f1(x)相当于图片,通过上面的线性函数分别给两个图片的矩阵中的每个元素乘以对应的系数然后相加,即为混合后的图片。
注意:两张图片的大小和类型必须一致才可以。

混合函数Core.addWeighted()
在OpenCV中两张图片的混合是提供Core类中的addWeighted()函数实现的。
在这里插入图片描述
参数含义
src1:图片1
alpha:图片1前面的系数
src2:图片2
beta:图片2前面的系数
gamma:常数(用于调节图片的亮度)
dst:混合后的图片
dtype:混合后的图片的数据类型

将下面两张图片混合
三、OpenCV之图像的混合_第2张图片
三、OpenCV之图像的混合_第3张图片

代码

public class DemoMat {
    static{
        System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
    }
    public static void main(String[] args) {
        Mat src1=Imgcodecs.imread("aa.jpg");//读入图片1
        Mat src2=Imgcodecs.imread("bb.jpg");//读入图片2
        Mat dst=new Mat();//混合后的图片
        Core.addWeighted(src1,0.2,src2,0.8,0,dst);//传参
        //展示图片
        HighGui.imshow("标题",dst);
        HighGui.waitKey(0);
    }
}

执行结果
三、OpenCV之图像的混合_第4张图片

你可能感兴趣的:(javaOpenCV,opencv,计算机视觉,人工智能)