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