图像显式融合
即通过下式
将两幅图像相互叠加,alpha控制那幅图像在融合图像中所占的权重。
下面以如下两幅图像通过addWeighted()函数来实现。
图1 图2
#include<opencv2/opencv.hpp>
#include<iostream>
using namespace std;
using namespace cv;
int main()
{
Mat img1,img2,out;
img1=imread("1.jpg",0);
img2=imread("2.jpg",0);
if(!img1.data)
cout<<"error loading img1"<<endl;
if(!img2.data)
cout<<"error loading img2"<<endl;
double alpha=0.5;
double beta,input;
cin>>input;
if(input>=0.0 && input<=1.0)
alpha=input;
beta=(1.0-alpha);
addWeighted(img1,alpha,img2,beta,0.0,out);
namedWindow("out",1);
imshow("out",out);
waitKey(0);
return 0;
}
效果:
融合后图像
函数各个参数如下: