最近在看《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, andcv:: 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:: addWeightedcv:: subtractcv:: 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 | 输出数组深度,可选 |

3039

被折叠的 条评论
为什么被折叠?



