void addWeighted(InputArray src1, double alpha, InputArray src2,double beta, double gamma, OutputArray dst, int dtype = -1);
src1:输入图像Mat;
alpha:输入图像src1的alpha值;
src2:输入图像Mat;
alpha:输入图像src2的alpha值;
gamma:gamma值;
dst:输出混合图像。
注意:两张图像的大小和类型必须一致才能调用该函数。
示例:
#include <opencv2\opencv.hpp>
#include <iostream>
using namespace std;
using namespace cv;
int main(void)
{
Mat src1, src2, dst;
src1 = imread("F:/test.png");
src2 = imread("F:/test2.png");
if (!src1.data || !src2.data) {
cout << "open picture erro!!" << endl;
return -1;
}
if (src1.rows == src2.rows && src1.cols == src2.cols && src1.type() == src2.type()) {
addWeighted(src1, 0.5, src2, (1.0 - 0.5), 0.0, dst);
imshow("src1", src1);
imshow("src2", src2);
imshow("dst", dst);
}
else {
cout << "addWeighted failed!!!" << endl;
return -1;
}
waitKey(0);
return 0;
}
结果
void add(InputArray src1, InputArray src2, OutputArray dst,InputArray mask = noArray(), int dtype = -1);
测试结果