OpenCV将两图片进行混合,达到两张图片合并成一张图片的效果


一、概述

  案例:将两张图片混合成一张图片,并且原图的元素要保留到同一张图片中。

二、示例图片

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;
}

  


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM