我发现奇怪的是,numpy数组和PIL图像具有不同的形状,在这种情况下,(H,W)
在numpy中,(W,H)
在PIL中。我的版本是,
姓名:numpy版本:1.13.3
名称:枕头版本:4.1.1
IMG = '/path/to/test-image.jpg'
import numpy as np
from PIL import Image
import matplotlib.pyplot as plt
%matplotlib inline
with Image.open(IMG) as img:
print img.size
img_np_f = np.asarray(img, order='F')
print img_np_f.shape
img_np_c = np.asarray(img, order='C')
print img_np_c.shape
plt.subplot(131)
plt.imshow(img)
plt.subplot(132)
plt.imshow(img_np_f)
plt.subplot(133)
plt.imshow(img_np_c)
plt.show()
输出结束,
(320, 240)
(240, 320)
(240, 320)
然而,无论如何,似乎matplotlib正确处理它。
答案 0 :(得分:0)
因为Numpy
不是影像库。
numpy.ndarray.shape
按照此顺序(H, W, D)
给出形状,以保持与ndarray
轴[{1}}