一、概述
案例:将两张图片混合成一张图片,并且原图的元素要保留到同一张图片中。
二、示例图片
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; }