- 图像加法
图像加法就是将两个图像的像素分别相加起来。
我们可以使用 cv2.add() 或 numpy 中的加法进行操作。但是同样是8位数据,在cv中进行加法是一种饱和操作,而numpy中的加法是一种取模操作。
x = np.uint8([250])
y = np.uint8([10])
print (cv2.add(x,y)) # 250+10 = 260 => 255
[[255]]
print (x+y) # 250+10 = 260 % 256 = 4
[4]
- 图像混合
如果单纯的用图像加法图像会由于饱和产生大面积的白色,所以可以使用图像混合。
图像混合的计算公式如下:
g (x) = (1 − α) f0 (x) + αf1 (x)
图像混合函数:
cv2.addWeighted(src1, alpha, src2, beta, gamma[, dst[, dtype]]) → dst
函数效果如下
dst = src1 * alpha + src2 * beta + gamma;
如果将两个图像混合,那么一定是两个图像的尺寸要相同:
cv2.resize(src, dsize[, dst[, fx[, fy[, interpolation]]]]) -> dst
src - 原图
dst - 目标图像。
dsize - 目标图像大小。
interpolation - 插值方法。共有5种:1)INTER_NEAREST - 最近邻插值法
2)INTER_LINEAR - 双线性插值法(默认)
3)INTER_AREA - 基于局部像素的重采样。
4)INTER_CU

本文介绍了如何使用OpenCV和Python进行图像的算术运算,包括图像加法、图像混合以及按位运算。图像加法可以通过`cv2.add()`或numpy加法实现,图像混合使用`cv2.addWeighted()`函数。此外,还讨论了按位运算如AND、OR、NOT和XOR,并介绍了阈值处理在二值化操作中的应用。
最低0.47元/天 解锁文章
1262

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



