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

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

参数含义
src1:图片1
alpha:图片1前面的系数
src2:图片2
beta:图片2前面的系数
gamma:常数(用于调节图片的亮度)
dst:混合后的图片
dtype:混合后的图片的数据类型
将下面两张图片混合


代码
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中用于图像混合的Core.addWeighted()函数,该函数通过线性组合两张图片的像素值实现混合效果。示例代码展示了如何使用该函数将两张图片按指定权重进行混合,并显示结果。注意,混合前确保图片尺寸和类型一致。
1136

被折叠的 条评论
为什么被折叠?



