Ho giocato con gif animate in Python, dove i fotogrammi saranno prodotti da una fotocamera Raspberry Pi posizionata in una serra. Ho utilizzato il codice di immagine consigliato da Almar's answer to a previous question con successo per creare gif semplici.Durata fotogrammi personalizzata per Gif animate in Python ImageIO
Tuttavia, ora sto provando a rallentare la durata del fotogramma ma guardando il documentation for imageio e non riesco a trovare riferimenti per mimsave ma vedo mimwrite, che dovrebbe richiedere quattro argomenti. Ho guardato il additional gif documentation e posso vedere che c'è un argomento di durata.
Attualmente, il mio codice è simile:
exportname = "output.gif"
kargs = { 'duration': 5 }
imageio.mimsave(exportname, frames, 'GIF', kargs)
e sto ottenendo il seguente errore:
Traceback (most recent call last):
File "makegif.py", line 23, in <module>
imageio.mimsave(exportname, frames, 'GIF', kargs)
TypeError: mimwrite() takes at most 3 arguments (4 given)
dove fotogrammi è un elenco di oggetti imageio.imread. Perchè è questo?
AGGIORNATO PER MOSTRARE UNA RISPOSTA COMPLETA: Questo è un esempio che mostra come creare gif animate con imageio utilizzando kwargs per modificare la durata del fotogramma.
import imageio
import os
import sys
if len(sys.argv) < 2:
print("Not enough args - add the full path")
indir = sys.argv[1]
frames = []
# Load each file into a list
for root, dirs, filenames in os.walk(indir):
for filename in filenames:
if filename.endswith(".jpg"):
print(filename)
frames.append(imageio.imread(indir + "/" + filename))
# Save them as frames into a gif
exportname = "output.gif"
kargs = { 'duration': 5 }
imageio.mimsave(exportname, frames, 'GIF', **kargs)
Legend. Il mio cervello sbiadito ti ringrazia ... –