首页 > 学院 > 开发设计 > 正文

使用OpenCV融合图像

2019-11-09 15:42:04
字体:
来源:转载
供稿:网友

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

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表