理论上 线性混合操作

函数 addWeighted

void cv::addweighted{
InputArray src1, //输入图像1
double alpha; //图像1的alpha值
InputArray src2, //输入图像1
double beta; //图像1的alpha值
double gramma,
OutputArray dst, //输出混合图像
int dtype = -1;
}

两张图像大小类型一致才可以进行此操作

Mat  src1 = imread("E://VS-pro//images//zhu.jpg");
	Mat  src2 = imread("E://VS-pro//images//zhu1.jpg");
	if (src1.empty())
	{
		cout << "can not find  1.." << endl;
		return -1;
	}
	if (src1.empty())
	{
		cout << "can not find  2.." << endl;
		return -1;
	}

	double alpha = 0.5;
	Mat dst = Mat(src1.size(), src1.type());
	dst = Scalar(0, 0, 255);
	if (src1.rows == src2.rows && src1.cols == src2.cols && src1.type() == src2.type())
	{
		addWeighted(src1, alpha, src2, (1 - alpha), 0.0, dst);
	}
	imshow("output_dst", dst);

图像混合

相关文章: