opencv 混合两个图像addWeighted()函数原理解析


概念

图像混合为线性混合运算,理论公式如下:
在这里插入图片描述
f0(x):表示图像1的像素值
f1(x):表示图像2的像素值
α0:表示两个图像的权重参数。值区间0-1;

opencv函数支持cv::addWeighted()

函数原型

CV_EXPORTS_W void addWeighted(InputArray src1, double alpha, InputArray src2,
                              double beta, double gamma, OutputArray dst, int dtype = -1);

参数多了一个gamma:表示在最终的结果图中加上的偏移量。

代码示例

代码如下(示例):

    cv::Mat src1;
     src1 = cv::imread("D:\\QtProject\\Opencv_Example\\addWeighted\\addWeighted1.png", cv::IMREAD_COLOR);
     if (src1.empty()) {
       cout << "Cannot load image" << endl;
       return;
     }
     cv::Mat src2;
     src2 = cv::imread("D:\\QtProject\\Opencv_Example\\addWeighted\\addWeighted2.png", cv::IMREAD_COLOR);
     if (src2.empty()) {
       cout << "Cannot load image" << endl;
       return;
     }
     cv::Mat dst;
     cv::addWeighted(src1, 0.5, src2, 0.5, 0, dst);

效果:

图1
在这里插入图片描述

图2在这里插入图片描述

混合之后:

在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: OpenCV中的addWeighted函数是一种图像加权叠加的方法,可以将两个图像按照一定的比例进行混合,生成一个新的图像。该函数的参数包括两个输入图像两个图像的权重系数以及输出图像。其中,权重系数可以控制两个图像混合过程中的比例,输出图像的像素值则是两个输入图像像素值的加权和。该函数图像处理中广泛应用,例如图像融合、图像增强等方面。 ### 回答2: OpenCVaddWeighted函数是一种图像混合运算的方法。它可以将两个图像进行加权相加,生成一个新的图像addWeighted函数的原型为: void cv::addWeighted( cv::InputArray src1, // 第一个输入图像 double alpha, // 第一个输入图像的权重系数 cv::InputArray src2, // 第二个输入图像 double beta, // 第二个输入图像的权重系数 double gamma, // 结果图像的亮度调整参数 cv::OutputArray dst // 输出图像 ); 其中,src1和src2是输入的两个图像,alpha和beta分别是它们的权重系数,gamma是结果图像的亮度调整参数,dst是输出的混合图像addWeighted函数的算法可以表达如下: dst = src1 * alpha + src2 * beta + gamma; 其中,运算符 * 表示对应像素点的乘法运算。 通过调整alpha和beta的值,可以控制源图像的权重,从而实现不同程度上的图像融合效果。此外,通过调整gamma的值,可以对结果图像的亮度进行调整。 总之,OpenCVaddWeighted函数为我们提供了一种简单而灵活的图像混合运算方式,可以用于很多图像处理、特效实现和图像融合等应用场景。 ### 回答3: opencvaddWeighted函数是一个图像混合函数,可用于将两个图像按照一定的权重进行混合函数原型如下: void cv::addWeighted( InputArray src1, // 第一个输入图像 double alpha, // 第一个输入图像的权重 InputArray src2, // 第二个输入图像 double beta, // 第二个输入图像的权重 double gamma, // 亮度调节值 OutputArray dst // 输出图像 ) 其中,src1、src2为输入图像(可以为灰度图像、彩色图像或带alpha通道的图像),alpha和beta为两个输入图像的权重,gamma用于亮度调节,dst为输出图像addWeighted函数会根据给定的权重将两个输入图像进行混合生成输出图像,公式为: dst = src1 * alpha + src2 * beta + gamma 其中,alpha和beta的取值范围为0到1,表示不同图像的权重比例,alpha与beta之和要小于等于1。gamma的取值范围为0到255,表示亮度调节值,用于调整输出图像的亮度。 混合操作的结果将反映出两个输入图像在每个像素位置的权重贡献。当alpha和beta均为0时, 输出图像的对应像素值等于gamma。当alpha和beta均为1时,输出图像的对应像素值等于两个输入图像对应像素值的和再加上gamma。 addWeighted函数图像处理中广泛使用,常用于图像叠加、图像融合、图像过渡等应用场景。它可以实现不同权重的图像融合,使得合成后的图像达到一定的效果,如调整透明度、颜色均衡等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值