Como posso dividir um arquivo .gif animado em seus quadros componentes?

44

Como posso facilmente dividir um arquivo .gif animado? Eu quero ver cada quadro.

Eu realmente preferiria não exportar todos os quadros para um diretório. Eu gostaria de vê-los individualmente em um aplicativo, se possível.

Isso é possível no Linux?

Kris Harper
fonte

Respostas:

53

Tente abri-los com o Gimp; Eu acredito que ele abrirá gifs animados com uma camada por quadro.

Você diz que não deseja despejar todos os quadros nos arquivos em um diretório, mas eu direi como fazê-lo de qualquer maneira :) instale o ImageMagick ou o graphicsmagick e, em seguida:

para ImageMagick:

convert animation.gif target.png

para graphicsmagick:

gm convert animation.gif target.png

ele gravará quadros em target0.png, target1.png, ... e assim por diante. Você pode entrar no diretório e executar eog, ele mostrará todos os quadros no mesmo aplicativo. Quando você não precisar mais dos quadros, apenas rm target*.png.

roadmr
fonte
imagemagick é simplesmente incrível!
Fccoelho 21/07
1
O imagemagic convert falhou para mim, pois parece que cada imagem do gif foi representada como uma nova camada transparente de plano de fundo, e o convert deu essas camadas transparentes: upload.wikimedia.org/wikipedia/commons/5/5d/AstarExample.gif
Ciro Santilli respondeu
Abri meu gif no gimp, mas ainda não sei como visualizar cada quadro individualmente - apenas vejo o último quadro. Estou trabalhando com esta animação: /tmp/Non-Native-American-Nations-Territorial-Claims-over-NAFTA-countries-1750-2008.gif
nealmcb
3
GraphicsMagick precisa estar no formato gm convert some-image.gif +adjoin some-image%d.pngpara funcionar. Ou, gm convert some-image.gif -coalesce +adjoin some-image%d.pngpara sub-quadros de tamanhos variados com diferentes desvios.
23716
1
O especificado convertperde a -coalesceopção, necessária para o que o usuário esperaria.
Marcus
41

Se os vários quadros tiverem áreas transparentes e forem construídos um sobre o outro, você poderá usar o convertcomando com a -coalesceopção " " para produzir um conjunto de arquivos target-0.png, target-1.png etc, cada um dos quais mescla a sequência de imagens:

convert -coalesce animation.gif target.png
NemoM
fonte
1
Ótimo comentário, mas precisa de explicação. Basicamente, ele resolve o problema que o @cirosantilli teve com o ImageMagick retornando o que parecia ser uma atualização para áreas específicas da tela. -coalesce mescla essas atualizações para fornecer uma renderização finalizada.
AnthonyVO
3
Deve-se notar que (a partir do ImageMagick versão 6.7.7) parece haver algum vazamento de memória: não tente -coalescecom .gifscreencasts longos , provavelmente consumiria toda a memória disponível e possivelmente travaria todo o sistema.
precisa saber é o seguinte
4
você pode especificar os nomes dos arquivos de saída através de algo como:convert -coalesce animation.gif target.%04d.png
Trevor Boyd Smith
2

para mim, com ImageMagick(info versão: 6.8.9-9 Q16 x86_64 2017-07-31)

convert gif.gif gif.pdf

faz um pdf com cada página como um quadro do gif de entrada, então você pode simplesmente folhear os quadros no aplicativo de visualização em PDF de sua escolha

prática
fonte
Isso parece muito complicado e diferente do que o OP quer.
David Foerster
Para obter cada quadro como uma página em um arquivo .pdf, é uma ótima idéia, apenas leve em consideração que esse método pode estar com erros e é necessário ajustar o aplicativo .
precisa saber é o seguinte
2

Use mpv. Abra-o na área de trabalho. Arraste o gif para ele. Tire uma captura de tela do quadro desejado / único com a tecla s. Você pode até fazer uma pausa se o seu gif for rápido. Maneira muito rápida.

===========

convém usar essas configurações primeiro [depois de definir, não é necessário fazer novamente] :

gedit ~/.config/mpv/mpv.conf

e digite e salve:

--screenshot-format Opções: jpg jpeg png (padrão: jpg)

para obter a mais alta qualidade png:

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

ou se você quiser jpg

--screenshot-jpeg-quality Inteiro (0 a 100) (padrão: 90)

Use mpv --list-options para outros detalhes

shantiq
fonte
Oi :) de volta andrew.46. tentei o Gimp e fiquei frustrado. não há muito que MPV não pode fazer:]
shantiq