OpenCV中addWeighted()函数的详细解析和实例演示
OpenCV中的addWeighted()函数是一个非常常用的函数,它可以用来对两个或多个图像进行加权混合。它的实现原理是:将两个图像的每一个像素值相加,乘以一个权重系数,得到一个新的图像。
函数原型
OpenCV中addWeighted()函数的原垮如下:
void addWeighted(InputArray src1, double alpha, InputArray src2, double beta, double gamma, OutputArray dst, int dtype=-1)
参数解释
- src1:第一个输入图像;
- alpha:第一个图像的权重系数;
- src2:第二个输入图像;
- beta:第二个图像的权重系数;
- gamma:加权混合后图像的偏移量;
- dst:输出图像;
- dtype:输出图像的数据类型,默认情况下为-1,表示输出图像的数据类型与输入图像的数据类型相同。
函数实例
下面我们来看一个简单的addWeighted()函数实例:
//加载两张图片 Mat image1 = imread("image1.jpg"); Mat image2 = imread("image2.jpg"); //定义第一个图片的权重系数 double alpha = 0.5; //定义第二个图片的权重系数 double beta = 0.5; //定义偏移量 double gamma = 0; //定义输出图片 Mat dst; //调用addWeighted()函数 addWeighted(image1, alpha, image2, beta, gamma, dst); //显示输出图片 imshow("dst",dst);
上面的实例中,我们加载了两张图片,定义了第一个图片的权重系数alpha,第二个图片的权重系数beta,以及偏移量gamma,调用addWeighted()函数,将这两张图片进行加权混合,得到一张新的图片dst。
本文通过讲解addWeighted()函数的原型及参数解释,以及一个实例,介绍了OpenCV中addWeighted()函数的详细解析和实例演示。addWeighted()函数可以用来对两个或多个图像进行加权混合,从而得到一张新的图片。