我想从文件夹中加载图像,将其转换为numpy数组,然后将其存储为数据帧行。我应该如何进行?
这是我想出的:
from keras.preprocessing.image import load_img
from keras.preprocessing.image import img_to_array
from keras.preprocessing.image import array_to_img
BASE_DIR = '/kaggle/input/coughspectrograms/content/'
os.chdir('/kaggle/input/coughspectrograms/content/')
files_in_train = sorted(os.listdir(BASE_DIR))
files_in_train.pop(0)
img_df = pd.DataFrame()
for img in files_in_train:
loaded_img = load_img(img)
img_array = img_to_array(loaded_img)
img_df = pd.DataFrame({"image": [img_array]})
答案 0 :(得分:1)
如果您希望最终的数据框形状为[n_images,1],则只需将代码的最后一行替换为:
img_df = img_df.append({"image": [img_array]}, ignore_index=True)
这将迭代地向您创建的空数据帧添加一行,您现在要做的就是在每次迭代中创建一个具有单个图像的新数据帧