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 Python 图像加法

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)}

上述示例中获得的图像矩阵用于执行加权和。

通过将 a 从 0 变化到 1,可以实现从一个图像平滑地过渡到另一个图像,使它们混合在一起。

第一个图像的权重为 0.3,第二个图像的权重为 0.7。gamma 因子取为 0。

addWeighted() 函数的命令如下:

img = cv2.addWeighted(kalam, 0.3, einst, 0.7, 0)

可以看到,与二进制相加相比,图像相加更加平滑。

OpenCV Python 图像加法

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程