Come posso dividere un file GIF animato nei suoi frame componenti?


44

Come posso facilmente dividere un file GIF animato? Voglio vedere ogni fotogramma.

Preferirei davvero non esportare ogni frame in una directory. Vorrei visualizzarli singolarmente in un'unica applicazione, se possibile.

Questo è possibile su Linux?

Risposte:


54

Prova ad aprirli con The Gimp; Credo che aprirà gif animate con un livello per fotogramma.

Dici che non vuoi scaricare tutti i frame in file su una directory, ma ti dirò comunque come farlo :) installa ImageMagick o graphicsmagick, quindi:

per ImageMagick:

convert animation.gif target.png

per la grafica:

gm convert animation.gif target.png

scriverà i frame su target0.png, target1.png, ... e così via. È quindi possibile inserire la directory ed eseguire eog, ti mostrerà tutti i frame sulla stessa applicazione. Quando non hai più bisogno dei frame, basta rm target*.png.


imagemagick è semplicemente fantastico !!
fccoelho,

1
imagemagic convert non è riuscito per me, poiché sembra che ogni immagine della gif sia stata rappresentata come un nuovo livello di sfondi trasparenti e convert abbia dato quei livelli trasparenti: upload.wikimedia.org/wikipedia/commons/5/5d/AstarExample.gif
Ciro Santilli 新疆 改造 中心 法轮功 六四 事件

Ho aperto la mia gif in gimp, ma ancora non so come visualizzare ogni fotogramma individualmente - vedo solo l'ultimo fotogramma. Sto lavorando con questa animazione: /tmp/Non-Native-American-Nations-Territorial-Claims-over-NAFTA-countries-1750-2008.gif
nealmcb

3
GraphicsMagick deve essere nella forma gm convert some-image.gif +adjoin some-image%d.pngper funzionare. Oppure, gm convert some-image.gif -coalesce +adjoin some-image%d.pngper sottotelai di varie dimensioni con offset diversi.
L

1
L' opzione specificata convertmanca l' -coalesceopzione, necessaria per ciò che un utente si aspetterebbe.
Marcus

42

Se i vari frame hanno aree trasparenti e si fondono l' uno sull'altro, è possibile utilizzare il convertcomando con l' -coalesceopzione " " per produrre un set di file target-0.png, target-1.png ecc., Ognuno dei quali unisce la sequenza di precedenti immagini:

convert -coalesce animation.gif target.png

1
Ottimo commento ma necessita di spiegazioni. Fondamentalmente risolve il problema che @cirosantilli ha avuto con ImageMagick restituendo quelli che sembravano aggiornamenti a specifiche aree dello schermo. -coalesce unisce quegli aggiornamenti per darti un rendering completo.
AnthonyVO,

3
Va notato che (a partire da ImageMagick versione 6.7.7) sembra esserci qualche perdita di memoria: non tentare -coalescecon .gifscreencast lunghi , probabilmente consumerebbe tutta la memoria disponibile e potrebbe bloccare l'intero sistema.
lasciato circa il

4
è possibile specificare i nomi dei file di output tramite qualcosa del tipo:convert -coalesce animation.gif target.%04d.png
Trevor Boyd Smith,

2

per me, con ImageMagick(informazioni sulla versione: 6.8.9-9 Q16 x86_64 2017-07-31)

convert gif.gif gif.pdf

crea un pdf con ogni pagina come frame dell'input gif, quindi puoi semplicemente scorrere i frame nell'applicazione di visualizzazione pdf di tua scelta


Ciò sembra eccessivamente complicato e diverso da quello che vuole OP.
David Foerster,

Per ottenere ogni frame come una pagina in un .pdf è una grande idea, basta considerare che questo metodo potrebbe essere difettoso e devi modificare l'applicazione .
amato da Gesù, il

2

Usa mpv. Aprilo sul desktop. Trascina gif al suo interno. Cattura uno screenshot del fotogramma desiderato / singolo con il tasto s. Puoi anche mettere in pausa se il tuo GIF è veloce. Modo molto veloce.

===========

potresti voler usare prima queste impostazioni [una volta impostato non devi rifare] :

gedit ~/.config/mpv/mpv.conf

e inserisci e salva:

--screenshot-format Scelte: jpg jpeg png (impostazione predefinita: jpg)

per la massima qualità png:

--screenshot-format=png
--screenshot-png-compression=9

o se vuoi jpg

--screenshot-jpeg-quality Numero intero (da 0 a 100) (impostazione predefinita: 90)

Utilizzare mpv --list-options per altri dettagli


Ciao :) indietro andrew.46. provò Gimp e si sentì frustrato. non c'è molto che mpv non possa fare:]
shantiq
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.