#include <opencv2\opencv.hpp>
#include <iostream>
using namespace std;
using namespace cv;
int main(int argc, char** argv)
{
Mat src1, src2, std;
src1=imread("D:\\文件\\VS2015练习\\c++\\1 opencv图像处理\\opencv06-图像混合\\t1.jpg");
src2=imread("D:\\文件\\VS2015练习\\c++\\1 opencv图像处理\\opencv06-图像混合\\t2.jpg");
if (src1.empty())
{
printf("could not load t1.jpg...");
return -1;
}
if (src2.empty())
{
printf("could not load t2.jpg...");
return -1;
}
double alpha = 0.5;
if (src1.rows==src2.rows && src1.cols == src2.cols && src1.type()==src2.type())
{
addWeighted(src1, alpha, src2, (1.0 - alpha), 0.0, std);
imshow("src1", src1);
imshow("src2", src2);
namedWindow("add", CV_WINDOW_AUTOSIZE);
imshow("add", std);
}
else
{
printf("tow photo is ont same...");
return -1;
}
waitKey();
return -1;
}
在载入图片时要求两张图片的大小和类型要一致。
下面是程序运行的结果。