//包含OpenCV的头文件
#include <opencv2/opencv.hpp>
#include <iostream>
using namespace std;
//使用OpenCV的命名空间
using namespace cv;
int main()
{
//读取两幅影像
Mat Img1 = imread("C:/Users/GuSheng/Desktop/标准测试图片/chicky_512.png");
Mat Img2 = imread("C:/Users/GuSheng/Desktop/标准测试图片/Fig0636(woman_baby_original).tif");
//如果打开两幅任意一个失败的话,直接返回
if (Img1.empty()||Img2.empty())
{
return 0;
}
//创建显示原始两幅影像的窗口
namedWindow("Img1", WINDOW_AUTOSIZE);
namedWindow("Img2", WINDOW_AUTOSIZE);
//显示两幅原始影像
imshow("Img1", Img1);
imshow("Img2", Img2);
//提取两幅影像的兴趣区域
Mat ROI1(Img1, cv::Rect(30, 30, 400, 400));
Mat ROI2(Img2, cv::Rect(0, 0, 400, 400));
//融合操作-原始影像占据20%,另一幅影像占据80%
addWeighted(ROI1, 0.2, ROI2, 0.8, 0, ROI1);
namedWindow("Result", WINDOW_AUTOSIZE);
//显示结果
imshow("Result", Img1);
waitKey(0);
destroyWindow("Img1");
destroyWindow("Img2");
destroyWindow("Result");
return 0;
}
原影像1 源影像2
结果影像