Самый быстрый способ сопоставить изображения с метками, используя CSV имен файлов изображений + метки - PullRequest
1 голос
/ 03 марта 2020

Я хочу сопоставить изображения (массивы данных изображений) с метками, а (имена изображений + метки) находятся в файле CSV. Файл имеет типы файлов jpg и jpeg. Я написал для этого простую функцию, но она занимает довольно много времени.

Вот мой сценарий:

def map_data():

    import pandas as pd
    import glob
    import time
    import cv2

    tot_time = time.time()    
    df = pd.read_csv('dataset.csv')
    labeled_set = []

    for f in glob.glob('Processed/*.jp*'):

        try:

            st = time.time()
            img_name = str(f)
            img_data = cv2.imread(f)

            for _,row in df.iterrows():                

                if row['image'] != img_name:
                    continue                
                else:
                    labeled_set.append([img_data, row['label']])

            et = time.time()
            print(str(et-st)+' seconds for one image lookup')

        except Exception as e:

            print(f'{e} occurred, passing')
            pass

    tot_time -= time.time()
    print(str(abs(tot_time)))+' seconds time taken for the mapping')

    return labeled_set

Есть ли более быстрый способ сделать это? Было бы очень полезно узнать, есть ли такой. В настоящее время поиск одного изображения занимает около 25 секунд.

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