问题描述
我正在Kaggle上处理Plant Seedlings
数据集,并准备了一个具有2列的数据框。
第一列具有火车集中存在的每个图像的目录,第二列具有该图像的标签(名称)。
我想将其转换为数据框,以便随后可以使用此数据框来训练我的模型。
此外,图像具有3个通道。
给定具有目录和标签为arr的数据框的名称。
file category
0 ../input/train/Maize/a5c2eec2d.png Maize
1 ../input/train/Maize/8cd93b279.png Maize
2 ../input/train/Maize/8c6fba454.png Maize
3 ../input/train/Maize/abadd72ab.png Maize
4 ../input/train/Maize/f60369038.png Maize
我应该如何做上述任务?
1楼
from PIL import Image
import numpy as np
dataset = []
# If you to encode category names you can do the following
# df['category_code'] = df['category'].cat.codes
# and you can iterate over this in for loop
for image_name, category in zip(df['file'],df['category']):
image = np.asarray(Image.open(image_name))
dataset.append((image,category))
要将图像调整为特定大小,
image = np.asarray(Image.open(image_name).resize(size))
其中的大小是类似(224,224)的元组