OpenCV for Python 第六天:图像的加法运算和加法加权运算

上一篇博客当中,我们认识了如何获取图片的属性,那么这一篇博客我们就来了解一下有关图像的加法和位运算是什么样的,并通过这些运算完成图片的相关操作

加法运算

图像的加法运算可以理解为将两个图像进行像素级别的叠加操作。在加法运算中,对应位置的像素值相加,得到的结果将成为新图像中该位置的像素值。

具体而言,假设有两个图像A和B,它们具有相同的尺寸和通道数。那么对于每一个像素点(x, y)和通道c,加法运算可以表示为:

新像素值 = A(x, y, c) + B(x, y, c)

这个过程对每个像素位置和通道分别进行操作,可以用于图像融合、图像叠加等应用。需要注意的是,加法运算可能导致像素值溢出,所以一般需要进行像素值归一化或截断操作,以保证结果图像的准确性和可视化效果。

也就是说,我们在图片处理当中会对两张图片相同位置的像素点进行读取,然后两个数的和就是咱们型的加法运算。但是我们都知道,我们的图像的取值范围是[0,255],那么要是超过255,我们就需要使用其他方法进行处理。

cv2.add()

cv2.add() 方法是OpenCV中用于图像加法运算的函数之一。下面是一个 cv2.add() 方法的示例:

import cv2
import numpy as np

# 读取两张图像
img1 = cv2.imread('image1.jpg')
img2 = cv2.imread('image2.jpg')

# 执行图像加法运算
result = cv2.add(img1, img2)

# 显示结果图像
cv2.imshow('Result', result)
cv2.waitKey(0)
cv2.destroyAllWindows()

在这个示例中,首先使用 cv2.imread() 函数读取了两张图像,分别命名为 img1img2。然后使用 cv2.add() 方法将这两张图像进行加法运算,结果保存在 result 变量中。

最后,使用 cv2.imshow() 方法显示结果图像,使用 cv2.waitKey() 等待用户按下键盘上的任意键来关闭窗口,并使用 cv2.destroyAllWindows() 关闭所有窗口。

在这里插入图片描述


可能有的朋友会遇到下面的错误

cv2.error: OpenCV(4.8.0) D:\a\opencv-python\opencv-python\opencv\modules\core\src\arithm.cpp:650: error: (-209:Sizes of input arguments do not match) The operation is neither 'array op array' (where arrays have the same size and the same number of channels), nor 'array op scalar', nor &#

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

地摊主老袁

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

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

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

打赏作者

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

抵扣说明:

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

余额充值