我正在尝试将一堆图像像素数据加载到一个numpy数组中,但面临着弄清楚如何填充dtype字段的问题。
我的图像尺寸为128 x 128 x 3,类型为uint8,并按如下方式加载:
import glob
from scipy import misc
images = np.fromiter((misc.imread(path) for path in glob.glob('images/*.png')), <dtype_field>)
misc.imread
将每个图像加载为numpy数组,但我面临的问题是将此图像列表本身转换为numpy数组。
尝试以下操作但不起作用:
images = [misc.imread(path) for path in glob.glob('extra_signs/*.png')]
images = np.asarray(images)
我收到以下错误:
ValueError:无法将形状(128,128,3)的输入数组广播为形状(128,128)
将dtype设置为np.uint8
会引发以下错误:
ValueError:使用序列设置数组元素。
注意:我查看了stackoverflow,我发现了如何将图像读入numpy数组的问题,但没有将所有图像读入单个数组。
答案 0 :(得分:2)
检查您正在阅读的所有图像的大小。显然,其中至少有一个不是128x128x3。