Как пометить изображение, используя первые две буквы имени файла в массиве? - PullRequest
1 голос
/ 11 октября 2019

Я нахожусь во вводном классе нейронных сетей, так что учтите мое невежество.

У меня есть папка, содержащая примерно 12 000 текстурных изображений, каждое из которых разделено на десять различных подмножеств. Имя файла примера будет bubbly_0012.png . Некоторые имена файлов начинаются с одной и той же первой буквы, например, bubbly_0012.png и blotchy_0012.png .

Я пытаюсь создать файл .csv, содержащиймассивы каждого из изображений. Я хочу пометить каждое изображение в соответствии с его подмножеством (и, следовательно, своим именем), чтобы bubbly дали метку 0, blotched дали метку 1, и так далее.

Я обнаружил, что могу сделать это с помощью первой буквы каждого имени файла, используя следующую строку:

if (file[0]) == "b":
     name_array = [[0]]

Однако это становится проблемой, когда я пытаюсь пометить подмножества, которые начинаютсяс той же буквой Для подмножества blotchy я попробовал следующее:

if (file[0:1]) == "bl":
     name_array = [[0]]

Но это не сработало.

Любой совет будет принят с благодарностью.

1 Ответ

0 голосов
/ 11 октября 2019

Хорошо в срезах / диапазонах и т. Д. ... первый индекс - inclusive, а второй - нет. Таким образом, фрагмент [0:1] вернет первый индекс. для нарезки, включая вторую цифру, нам нужно использовать [0:2], который будет возвращать 0-й и 1-й индексы. Однако, если мы уже знаем keywords, лучше использовать другие средства.

my_dict_of_files_and_indexes = {"blotchy":1, "bubly":0} 
#if we manually fill out the fields then we can just use a list and index it

my_list_of_file_names = ["bubly", "blotchy"]

#for our list where its already in the correct order
if file in my_list_of_file_names:
    index_of_file = my_list_of_file_names.index(file)
    #do stuff with the file and index

#for our dict where the order of indexes don't matter
if my_dict_of_files_and_indexes.contains(file):
    index = my_dict_of_files_and_indexes[file]
    #do stuff with the file and index
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...