Numpy重塑形象列主要命令是复制我的图片

gzjq41n4  于 11个月前  发布在  其他
关注(0)|答案(1)|浏览(65)

为了自我监督学习的目的,我需要创建一个由自定义图片组成的数据集。我想将我的图片存储在一个bin文件中,作为numpy数组中的形状(3,256,256)在列主要顺序
我的图片是(256,256,3)的tiff文件。我像往常一样使用PIL.Image打开它。
然而,使用下面的代码,我得到了以下结果:

im = Image.open(file)
imarr = np.array(im)
imarr = imarr.reshape((3, 256, 256), order='F')

# for plotting
img = np.transpose(imarr, (1, 2, 0))
plt.imshow(img)
plt.title('generate bin files')
plt.show()

按照规范,不使用order或其他值作为“C”或“A”会导致这种错误的图片:

我如何才能使img只是我的图片的9个副本之一?感谢你的帮助.

kpbpu008

kpbpu0081#

其实我发现我误用了np.reshape
而不是

imarr = imarr.reshape((3, 256, 256), order='F')

我用

imarr = np.transpose(imarr, (2, 0, 1))

有形状(3,256,256),它的工作就像一个魅力。

相关问题