我一直在尝试将20x20灰度图像转换为像素强度的numpy数组。然而,当我显示它时,图像与其原始图像完全不同(黑色背景上的嘈杂,无意义的白色像素块。原始图像是黑色背景上的手写白色&x; x' x)。我使用的代码如下所示。
import numpy as np
from PIL import Image
img = Image.open("testing_data/" + 'x' + "_" + '5' + ".jpg")
img.show()
print(len(list(img.getdata()))) #prints 400
a = np.array(list(img.getdata()))
img = Image.fromarray(a.reshape(20, 20), 'L')
img.show()
首先img.show()调用正确显示图像,第二个调用没有。我做错了什么?
P.S。经过一些调试后,我发现将list转换为numpy数组后出现问题。