Pillow图像对象与Numpy数组变化维数如何转换?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (21)

我使用Pillow和Numpy,但在Pillow图像对象和Numpy数组之间的转换有问题。

当我执行下面的代码时,结果很奇怪。

im = Image.open(os.path.join(self.img_path, ifname))
print im.size
in_data = np.asarray(im, dtype=np.uint8)
print in_data.shape

结果是

(1024, 768)
(768, 1024)

为什么尺寸会改变?

提问于
用户回答回答于

我可能是列主的,而numpy中的数组是行主的。

in_data = in_data.T转置python数组

用户回答回答于

如果您的图像为灰度,请执行以下操作:

in_data = in_data.T

但是,如果您正在处理RBG映像,则需要确保您的转置操作仅沿两个轴:

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

扫码关注云+社区