参考博客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