一、概述
案例:将两张图片混合成一张图片,并且原图的元素要保留到同一张图片中。
二、示例图片
1.混合后的图片

2.原始的两张图片

三、示例代码
//将两张图片进行混合
#include <opencv2/opencv.hpp>
#include <iostream>
using namespace cv;
using namespace std;
int main(int argc, char const *argv[])
{
//加载并输出原图,要想混合图片则这两张图片的大小和尺寸必须是一样的
Mat src1 = imread("flow.jpg");
Mat girl = imread("girl.jpg");
imshow("girl",girl);
imshow("src1",src1);
Mat dst;
//混合两张图片
if(girl.rows ==src1.rows && girl.cols == src1.cols){
double alpha = 0.5;
/**
* 第一个参数:要混合的第一张图片
* 第二个参数:第一张图片的透明度
* 第三个参数:要混合的第二张图片
* 第四个参数:第三个参数的透明度
* gamma值
dst:混合后的输出图像
*
* */
addWeighted(girl,0.3,src1,0.7,0.0,dst);
imshow("dst",dst);
waitKey(0);
return 0;
}else{
cout << "图片大小不一致"<<endl;
}
return 0;
}