使用OpenCV融合图像

最近在看《iOS Application Development with OpenCV 3》这本书,其中有讲到融合图像函数的函数,这里记录一下。

部分原文摘录如下

With OpenCV, these blending modes can be implemented as combinations of arithmetic functions such as cv:: addWeighted, cv:: subtract, and cv:: multiply, which are described in the API documentation at http:// docs.opencv.org/ 3.1.0/ d2/ de8/ group__core__array.html.

我们可以访问OpenCV:Operations on arrays来看这些函数的官方文档。


这里只对以下3个函数作简单说明

  • cv:: addWeighted
  • cv:: subtract
  • cv:: multiply

1.cv:: addWeighted

(1)函数原型

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

(2)函数功能

计算两个数组的加权和。

(3)计算公式

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

(4)参数解析

参数含义
src1第一个输入数组
alpha第一个数组的权重
src2第二个输入数组,大小和通道数同src1
beta第二个数组的权重
gamma加到每一个总和的标量
dst输出数组,大小与通道数与输入数组相同
dtype输出数组的深度,可选。
当输入数组有相同的深度时,其可设置为1,这相当于src1的深度

2.cv:: subtract

(1)函数原型

void cv::subtract (InputArray src1,
                   InputArray src2,
                   OutputArray dst,
                   InputArray mask = noArray(),
                   int dtype = -1 
)       

(2)函数功能

计算两个数组或数组和一个标量之间的元素差异。

(3)计算公式

dst = src1 - src2;
//equivalent to subtract(dst, src1, dst);
dst -= src1; 

(4)参数解析

参数含义
src1第一个输入的数组或标量
src2第一个输入的数组或标量
dst输出数组
mask操作掩码,可选。
这是一个8位单通道数组,指定要更改的输出数组的元素。
dtype输出数组深度,可选

3.cv:: multiply

(1)函数原型

void cv::multiply (InputArray src1,
                   InputArray src2,
                   OutputArray dst,
                   double scale = 1,
                   int dtype = -1 
)       

(2)函数功能

计算两个数组的元素比例乘积。

(3)参数解析

参数含义
src1第一个输入的数组
src2第二个输入数组,大小和类型同src1
dst输出数组,大小和类型与src1相同
scale比例因素,可选
dtype输出数组深度,可选
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Story51314

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值