其他分享
首页 > 其他分享> > OpenCV将两图片进行混合,达到两张图片合并成一张图片的效果

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

  

标签:dst,两张,混合,OpenCV,src1,girl,图片
来源: https://www.cnblogs.com/tony-yang-flutter/p/15380617.html