0
我遇到了一個奇怪的情況,那就是迄今爲止互聯網還沒有能夠解決。如果我讀取.png文件,然後嘗試顯示它,它可以很好地工作(在下面的示例中,文件是單個藍色像素)。但是,如果我嘗試手動創建此映像陣列,它只會顯示一個空白畫布。有什麼想法嗎?matplotlib.pyplot.imshow()顯示空白畫布
from PIL import Image
import matplotlib.pyplot as plt
import numpy as np
im = Image.open('dot.png') # A single blue pixel
im1 = np.asarray(im)
print im1
# [[[ 0 162 232 255]]]
plt.imshow(im1, interpolation='nearest')
plt.show() # Works fine
npArray = np.array([[[0, 162, 232, 255]]])
plt.imshow(npArray, interpolation='nearest')
plt.show() # Blank canvas
npArray = np.array([np.array([np.array([0, 162, 232, 255])])])
plt.imshow(npArray, interpolation='nearest')
plt.show() # Blank canvas
P.S.我也嘗試用np.asarray()替換所有的np.array(),但結果是一樣的。
解決:D感謝瘋狂的快速回復:P – TinyDancer