Возникли проблемы при чтении изображений с использованием открытого резюме - PullRequest
1 голос
/ 16 февраля 2020

У меня есть имя папки «seg_train», в которой у меня есть 6 помеченных папок: здание, дерево, улица, ледник, лес, море и гора. Я пытаюсь прочитать все изображения в этих папках, используя open cv, и для этого я написал функцию, но я не знаю, что я делаю неправильно. Всего в этих 6 папках примерно 14000 файлов, но функция, которую я написал, читает только 2300 из одной папки. Не могли бы вы помочь? Вот python код

result- Форма изображений: (2382, 150, 150, 3)

Форма меток: (2382,)

я ожидал (14000, 150, 150, 3)

for image_file in os.listdir(r'C:/Users/dhvan/Desktop/intel-image-classification/seg_train/seg_train/'+ labels):
    image = cv2.imread(r'C:/Users/dhvan/Desktop/intel-image-classification/seg_train/seg_train/' + labels + r'/'+ image_file)
    image = cv2.resize(image,(150,150))

    Images.append(image)
    Labels.append(label)
return shuffle(Images,Labels,random_state=812490023) 

1 Ответ

0 голосов
/ 16 февраля 2020

Я предлагаю код ниже. Также я думаю, что если вы попытаетесь прочитать 14000 изображений размером (150,150,3), вы получите ошибку исчерпания ресурса, поскольку при этом будет использоваться очень большой объем памяти. Если вы создаете классификатор CNN, я рекомендую вам читать изображения в пакетном режиме, используя каталог Keras ImageDataGenerator.flowfrom, документация здесь https://keras.io/preprocessing/image/

import os
dir=r'C:/Users/dhvan/Desktop/intel-image-classification/seg_train/seg_train'
path_to_labels=os.path.join (dir, 'labels')
dir_list=os.listdir(path_to_labels)
for images in dir_list:
    path_to_images=os.path.join (path_to_labels, images)
    cv2.imread(path_to_images)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...