图像混合

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);

测试结果


猜你喜欢

转载自blog.csdn.net/qq_33408113/article/details/81004012
今日推荐