在OpenCV中添加addWeighted

时间:2015-09-22 09:56:50

标签: c++ opencv

我在OpenCV中遇到了函数addWeighted,其中提到了它:

Calculates the weighted sum of two arrays.

这是否意味着我们将第一个数组中的像素乘以某个权重,同样地将第二个数组乘以一些相关的像素值?

感谢。

2 个答案:

答案 0 :(得分:1)

来自OpenCV文档:

http://docs.opencv.org/modules/core/doc/operations_on_arrays.html

enter image description here

您的回答并不完全正确(除非您的伽玛值为0),因为您必须对伽马值求和。

答案 1 :(得分:1)

是的,正如文档中所述:

  

函数addWeighted计算两个数组的加权和   如下:

dst(I) = saturate(src1(I)*alpha + src2(I)*beta + gamma)
     

其中I是数组元素的多维索引。的情况下   多通道阵列,每个通道都是独立处理的。

     

该函数可以用矩阵表达式替换:

dst = src1*alpha + src2*beta + gamma;

其中saturateDocker Ubuntu installation page转换函数(执行饱和而不是包装的模运算)

您也可以随时查看来源: saturate_cast<>()

该函数有多个执行路径,具体取决于您构建它的方式(可用的优化:SSE2,NEON,展开版本,最后是回退实现)和所涉及的数据类型。

相关问题