本篇文章主要讲解两个图片的叠加混合处理功能:
数学原理:
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(加权混合),要求两个图象的大小和类型必须完全相同,该处理的原理为遍历两个图像相对应的各个像素点,将对应的颜 {MOD}值乘以相应的权重再相加;
if (matSrc1.rows == matSrc2.rows&&matSrc1.cols == matSrc2.cols&&matSrc1.type() == matSrc2.type())
{
addWeighted(matSrc1, 0.6, matSrc2, 0.4, 0, matDst);
}
图像一:
图像二:
混合后的图像: