OpenCV学习4-两个图像的混合操作

本篇文章主要讲解两个图片的叠加混合处理功能:

数学原理:g(x)=(1-\alpha )f_0(x)+\alpha f_1(x)

1.数据准备:

    Mat matSrc1= imread("D:/Learn/OpenCV/Info/PIC/0006/ice.jpg");

    Mat matSrc2= imread("D:/Learn/OpenCV/Info/PIC/0006/fire.jpg");

    Mat matDst;

2.线性混合API:addWeighted(加权混合),要求两个图象的大小和类型必须完全相同,该处理的原理为遍历两个图像相对应的各个像素点,将对应的颜色值乘以相应的权重再相加;

	if (matSrc1.rows == matSrc2.rows&&matSrc1.cols == matSrc2.cols&&matSrc1.type() == matSrc2.type()) 
	{
		addWeighted(matSrc1, 0.6, matSrc2, 0.4, 0, matDst);
	}

图像一:

图像二:

扫描二维码关注公众号,回复: 2572722 查看本文章

混合后的图像:

猜你喜欢

转载自blog.csdn.net/ShawShankChina/article/details/81385393