2
我正在做图像比较和计算差异,并已注意到,元素明智减法似乎只有在我读取数据为dtype ='int64'的numpy数组而不是dtype ='uint8'时才起作用。出于图像可视化的原因,我想切换到'unit8'。为什么元素明智的加法/减法的输出取决于我的numpy数组是int64还是uint8?
image1 = np.array(plt.imread('fixed_image.jpg'), dtype='int64')[:, :, 0:3]
image2 = np.array(plt.imread('fixed_image_2.jpg'), dtype='int64')[:, :, 0:3]
diff = image1-image2
在上面的代码中,只能用dtype int64正确计算diff,而不能用dtype uint8正确计算diff。这是为什么?
你可以用'diff =(image1-image2).astype('uint8')' –
比较'cc [:: - 1]'来解决某些范围的数字,比如'np.arange(0,256 )'为2 dtypes。 – hpaulj