基于OpenCV的图像线性融合

参考博客https://blog.csdn.net/poem_qianmo/article/details/20911629

使用openCV实现了一个简单的图像线性融合,基本原理:

代码:

bool LinearBlending(){
	double alphaValue=0.5;
	double betaValue=1-alphaValue;
	const char* imageGirl="C:\\Users\\lenovo\\Desktop\\testData\\girl.png";
	const char* imageDota="C:\\Users\\lenovo\\Desktop\\testData\\dota.png";
	Mat img1=imread(imageGirl);
	Mat img2=imread(imageDota);
	if(!img1.data||!img2.data){
		printf("error");
		return false;
	}
	Mat dstImage;
	Mat img11=img1.rowRange(0,500).clone().colRange(0,500).clone();
	Mat img22=img2.rowRange(0,500).clone().colRange(0,500).clone();
	addWeighted(img11,alphaValue,img22,betaValue,0.0,dstImage);
	namedWindow("res",1);
	imshow("res",dstImage);
	return true;

}

原始图片:

来源https://blog.csdn.net/poem_qianmo/article/details/20537737


结果图片:

注意这里由于原始图片不一样大,因此取Mat的子集进行了融合操作。

参考:

https://blog.csdn.net/listener51/article/details/46117705


猜你喜欢

转载自blog.csdn.net/qq_33837704/article/details/79661398