Сохранить изображение в подкаталог, используя python - PullRequest
0 голосов
/ 22 января 2020

Я хочу сохранить некоторые изображения, которые я обработал с помощью opencv, в подкаталоги. Я попытался использовать os.walk, но он не может сохранить изображение в подкаталогах. Здесь я показываю вам мой код и то, что я хочу.

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

dir_data:
 -subdir_A:
    -img_1.jpg
    -img_2.jpg
 -subdir_B:
    -img_3.jpg
    -img_4.jpg

Вывод с использованием моего кода:

dir_A:
 -subdir_A:
    -img_1.jpg
    -img_2.jpg
    -img_3.jpg
    -img_4.jpg
 -subdir_B:
    -img_1.jpg
    -img_2.jpg
    -img_3.jpg
    -img_4.jpg

Мой код:

for root, dirs, files in os.walk(output_directory):
    for file_ in files:
       full_file_path = os.path.join(root, file_)

       for i in range(image.shape[0]):
          cv2.imwrite(os.path.join(root, file_+"%03d.jpg"%i),image[i,:,:,::-1])

print("wrote %d images"%(image.shape[0]))

1 Ответ

0 голосов
/ 22 января 2020

Что за сообщение об ошибке вы получаете?

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

cv2.imwrite (". /dir_A/subdir_a/img1.png",image[i,:,:,::-1])

Как только вы убедитесь, что процесс сохранения вашего изображения работает с полным путем, распечатайте каждый часть пути, который вы создаете, плюс объединенный путь, и сравните, чтобы найти, чего не хватает.

print (root)

print (file _ + "% 03d. jpg "% i)

Полагаю, вы пропустили где-нибудь sh.

...