Отсутствуют файлы при сохранении нескольких массивов в виде jpg изображений python - PullRequest
0 голосов
/ 24 апреля 2018

Проблема была только в отступ наконец.- Хосе Рамон сейчас

Я выполняю некоторую обработку в двумерных матриц-матрицах (которые соответствуют звуковому сигналуспектрограммы) и в конце я хочу сохранить их в виде изображений.В конце у меня есть список с именем split, содержащий 6 разных двумерных матриц, и я хочу в цикле for хранить их с разными именами:

counter = 0
for item in splits:
    counter = counter + 1
    print counter
    pic_name = "path/" + str(counter) +"_.jpg"
    matplotlib.image.imsave(pic_name, item)

len(splits) равен 6, а цикл for 6раз (в печати я получил 1, 2, ..., 6).Однако, в конце единственное сохраненное изображение - 6_.jpg, кажется, что я не сохраняю остальные только последний.Что мне здесь не хватает?


A live-MCVE код демонстратора:

PRINT_MASK = "Now {2:} runs counter == {0:} and produced pic_name == '{1:}'"
counter = 0
for item in (1,2,3,4,5,6):
    counter = counter + 1
    pic_name = "path/" + str(counter) +"_.jpg"
    print PRINT_MASK.format( counter, pic_name, "<loop>" )
print     PRINT_MASK.format( counter, pic_name, "<main>" )

Выход:

Now <loop> runs counter == 1 and produced pic_name == 'path/1_.jpg'
Now <loop> runs counter == 2 and produced pic_name == 'path/2_.jpg'
Now <loop> runs counter == 3 and produced pic_name == 'path/3_.jpg'
Now <loop> runs counter == 4 and produced pic_name == 'path/4_.jpg'
Now <loop> runs counter == 5 and produced pic_name == 'path/5_.jpg'
Now <loop> runs counter == 6 and produced pic_name == 'path/6_.jpg'
Now <main> runs counter == 6 and produced pic_name == 'path/6_.jpg'

1 Ответ

0 голосов
/ 24 апреля 2018

Просто используйте opencv.

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