Convert Image to numpy Array(图像分类)

Convert Image to numpy Array (image classification)

我正在学习本教程:How do I load train and test data from the local drive for a deep learning Keras model? 它是这样进行的 name 'train_data' is not defined 我知道我还没有定义train_data,但是我不知道在里面写什么 train_data = ...

我的代码是这样的

train_path = '/Users/nayageovani/Documents/Artificial Intelligence/dataset/train'
train_batch = os.listdir(train_path)
x_train = []

# if data are in form of images
for sample in train_data:
    img_path = train_path+sample
    x = image.load_img(img_path)
    # preprocessing if required
    x_train.append(x)
test_path = PATH+'/data/test/'
test_batch = os.listdir(test_path)
x_test = []

我的数据集文件夹如下所示

|--dataset
  |--test
     |--fresh
     |--rotten
  |--train
     |--fresh
     |--rotten

train_data(和 test_data)应该是可迭代的,分别包含训练或测试数据的文件名。

例如,您可以在训练数据目录中创建文件列表,例如:

import os
...

imgTypes = ['jpg', 'png', 'gif', 'bmp']
train_data = [item for item in os.listdir(train_path) if \
        (os.path.isfile(os.path.join(train_path, item)) and
            os.path.splitext(item)[1].lower() in imgTypes)]

更新:

加载图像数据的更好替代方法是使用 keras' ImageDataGenerator class。除其他外,它直接允许您在加载时预处理数据。