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?

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.


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

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


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


Oi :) de volta andrew.46. tentei o Gimp e fiquei frustrado. não há muito que MPV não pode fazer:]
shantiq
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.