【发布时间】:2018-11-27 19:50:07
【问题描述】:
例如,我需要将图像创建的 30x30 numpy 数组输入神经网络。如果我有一个要预测的图像目录,我应该能够遍历该目录,获取图像数据并创建一个 (n,30,30) 形状的 np 数组 这是我目前的方法,我打算在喂给模型之前重塑每一行
def get_image_vectors(path):
img_list=os.listdir(path)
print(img_list)
X=np.empty((900,))
for img_file in img_list:
img= Image.open(os.path.join(path,img_file))
img_grey= img.convert("L")
resized = img_grey.resize((30,30))
flattened = np.array(resized.getdata())
# print(flattened.shape)
X=np.vstack((X,flattened))
print(img_file,'=>',X.shape)
return X[1:,:]
【问题讨论】:
-
那么你的问题是什么?您是否意识到每次调用
vstack都会创建一个新数组?vstack与许多数组的列表一样好,如果不是更好的话。另请注意,您必须玩有趣的游戏才能开始,定义“空”数组(根本不像列表[]),然后用[1:]“删除”它。