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