我正在使用skimage.io.imread
加载图像,并将图像保存为numpy数组。以下是推断:
原始图像:(256x512x3)
以下是我执行的代码:
img = io.imread(img_file) # 48.1 kB
i1, i2 = img[:, :256], img[:, 256:]
np.save('i1', i1) # 196.7 kB
np.save('i2', i2) # 196.7 kB
final_image = np.empty([1, 2, 256, 256, 3])
final_image[0, 0], final_image[0, 1] = i1, i2
np.save('final', final_image) # 3.1 MB
有人可以解释一下为什么图像的大小差别这么大吗?
编辑: i1
、i2
和 final_image
的数据类型是 np.float64
final_image
的数据类型是np.float_
,很可能每个项目占用 8 个字节。 - juanpa.arrivillagai1
和i2
的数据类型也是np.float_
。但我没有看到保存的数组大小有如此大的增长。 - harmannp.uint8
,至少在我的系统上是这样的。 - juanpa.arrivillagafinal_image.shape, final_image.dtype
吗? - juanpa.arrivillagai1
和i2
的数据类型是uint8
,而final_image
的数据类型是float64
。 - harman