最近用python做图像处理的时候发现numpy库矩阵相减的一个大坑!
当np.uint8类型矩阵相减时,会发生严重的错误:
def main():
# 读取图片
image0 = np.array([[1, 2, 3], [4, 5, 6]], dtype=np.uint8)
image1 = np.array([[4, 5, 6], [1, 2, 3]], dtype=np.uint8)
# uint8相减
delta0 = np.abs(image0 - image1)
# int相减
delta1 = np.abs(image0.astype(np.int) - image1.astype(np.int))
# 输出结果
print('delta0=', delta0)
print('delta1=', delta1)
结果:
这坑我服