- OpenCV Python 教程
- OpenCV Python - 首页
- OpenCV Python - 概述
- OpenCV Python - 环境配置
- OpenCV Python - 读取图像
- OpenCV Python - 写入图像
- OpenCV Python - 使用 Matplotlib
- OpenCV Python - 图像属性
- OpenCV Python - 位运算
- OpenCV Python - 形状和文本
- OpenCV Python - 鼠标事件
- OpenCV Python - 添加轨迹条
- OpenCV Python - 调整大小和旋转
- OpenCV Python - 图像阈值
- OpenCV Python - 图像滤波
- OpenCV Python - 边缘检测
- OpenCV Python - 直方图
- OpenCV Python - 颜色空间
- OpenCV Python - 图像变换
- OpenCV Python - 图像轮廓
- OpenCV Python - 模板匹配
- OpenCV Python - 图像金字塔
- OpenCV Python - 图像加法
- OpenCV Python - 图像混合
- OpenCV Python - 傅里叶变换
- OpenCV Python - 捕捉视频
- OpenCV Python - 播放视频
- OpenCV Python - 从视频中提取图像
- OpenCV Python - 从图像生成视频
- OpenCV Python - 人脸检测
- OpenCV Python - 均值漂移/CamShift
- OpenCV Python - 特征检测
- OpenCV Python - 特征匹配
- OpenCV Python - 数字识别
- OpenCV Python 资源
- OpenCV Python - 快速指南
- OpenCV Python - 资源
- OpenCV Python - 讨论
OpenCV Python - 图像加法
当使用 `imread()` 函数读取图像时,得到的图像对象实际上是一个二维或三维矩阵,这取决于图像是灰度图像还是 RGB 图像。
因此,`cv2.add()` 函数将两个图像矩阵相加并返回另一个图像矩阵。
示例
下面的代码读取两张图像并执行它们的二元加法:
kalam = cv2.imread('kalam.jpg') einst = cv2.imread('einstein.jpg') img = cv2.add(kalam, einst) cv2.imshow('addition', img)
结果
除了线性二元加法之外,OpenCV 还具有 `addWeighted()` 函数,该函数执行两个数组的加权和。该函数的命令如下:
Cv2.addWeighted(src1, alpha, src2, beta, gamma)
参数
`addWeighted()` 函数的参数如下:
- src1 - 第一个输入数组。
- alpha - 第一个数组元素的权重。
- src2 - 第二个输入数组,大小和通道数与第一个数组相同。
- beta - 第二个数组元素的权重。
- gamma - 加到每个和上的标量。
此函数根据以下等式添加图像:
$$\mathrm{g(x)=(1-\alpha)f_{0}(x)+\alpha f_{1}(x)}$$
上述示例中获得的图像矩阵用于执行加权和。
通过将 α 从 0 -> 1 变化,可以实现从一张图像到另一张图像的平滑过渡,从而使它们混合在一起。
第一张图像的权重为 0.3,第二张图像的权重为 0.7。gamma 系数取为 0。
`addWeighted()` 函数的命令如下:
img = cv2.addWeighted(kalam, 0.3, einst, 0.7, 0)
可以看出,与二元加法相比,图像加法更平滑。
广告