os.listdir случайным образом считывает изображения, затрудняя тренировку ограничительной рамки - PullRequest
0 голосов
/ 18 июня 2019

os.listdir (путь) команда читает изображения случайным образом из папки. Я сохранил CSV-файл с информацией о коробках для изображений в папке последовательно. Я предполагал, что os.listdir будет читать изображения последовательно, чтобы мой csv-файл также можно было читать последовательно во время обучения.

Я попытался отсортировать (os.listdir), но безрезультатно. Я не мог найти какие-либо другие функции или код для последовательного чтения изображений из папки. Я назвал изображения как frame1.jpg, frame2.jpg и т. Д.

PATH = os.getcwd()
# Define data path
data_path = PATH + '/frames'
data_dir_list = sorted(os.listdir(data_path))
print(data_dir_list)
img_data_list=[]

for dataset in (data_dir_list):
    img_list=sorted(os.listdir(data_path+'/'+ dataset))
    print ('Loaded the images of dataset-'+'{}\n'.format(dataset))
    for img in sorted(img_list):
        input_img=cv2.imread(data_path + '/'+ dataset + '/'+ img )
        input_img=cv2.cvtColor(input_img, cv2.COLOR_BGR2GRAY)
        input_img1=input_img
        #input_img_resize=cv2.resize(input_img,(512,512))
        img_data_list.append(input_img1)

img_data = np.array(img_data_list)
img_data = img_data.astype('float32')
img_data /= 255

1 Ответ

2 голосов
/ 18 июня 2019

Согласно документации Python, os.listdir() возвращает имена файлов в произвольном порядке. Он просто сопоставляется с базовым вызовом операционной системы, который возвращает имена файлов в любом порядке, предположительно наиболее эффективном в зависимости от структуры файловой системы.

Это просто стандартный список строк, поэтому sorted() будет работать так, как вы его используете. Правильно ли заданы порядковые номера в ваших именах файлов для работы с более чем 10 изображениями, которые вы предположительно используете? Какой случайный порядок вы видите от sorted(os.listdir(...))?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...