使用cv::addWeighted函数,将2幅图像进行融合,2幅图像都要有相同的大小和类型,实现的公式为:
实现原理函数:cv::addWeighted(image1,k,image2,k1,k2,result);
#include<opencv2/core.hpp>
#include<opencv2/highgui.hpp>
cv::Mat image1;
cv::Mat image2;
cv::Mat result;
int main(int argc, char** argv) {
image1 = cv::imread("E:/10.PNG");
if (image1.empty()) {
printf("could not load image...\n");
return -1;
}
image2 = cv::imread("E:/11.PNG");
if (image2.empty()) {
printf("could not load image...\n");
return -1;
}
cv::namedWindow("Original Image");
cv::imshow("Original Image", image1);
cv::namedWindow("OUTPUT Image");
cv::imshow("OUTPUT Image",image2 );
cv::addWeighted(image1,0.7,image2,0.1,0.,result);
//cv::add(image1,image2,result);
cv::namedWindow("OUTPUT2 Image");
cv::imshow("OUTPUT2 Image",result );
cv::waitKey(0);
return 0;
}