애니메이션 .gif 파일을 구성 요소 프레임으로 분할하려면 어떻게해야합니까?


43

애니메이션 .gif 파일을 쉽게 분할하려면 어떻게해야합니까? 각 프레임을보고 싶습니다.

모든 프레임을 디렉토리로 내 보내지 않는 것이 좋습니다. 가능한 한 하나의 응용 프로그램에서 개별적으로보고 싶습니다.

Linux에서 가능합니까?

답변:


51

김프와 함께 열어보십시오; 프레임 당 하나의 레이어로 애니메이션 GIF를 열 것이라고 생각합니다.

디렉토리의 파일에 모든 프레임을 덤프하고 싶지는 않지만 어쨌든 수행 방법을 알려 드리겠습니다 :) ImageMagick 또는 graphicsmagick를 설치 한 다음 다음을 수행하십시오.

ImageMagick의 경우 :

convert animation.gif target.png

graphicsmagick의 경우 :

gm convert animation.gif target.png

target0.png, target1.png 등에 프레임을 씁니다. 그런 다음 디렉토리를 입력하고를 실행 eog하면 동일한 응용 프로그램의 모든 프레임이 표시됩니다. 더 이상 프레임이 필요하지 않으면 rm target*.png.


imagemagick는 굉장합니다!
fccoelho

1
gif의 각 이미지가 새로운 투명 배경 레이어로 표시되고 변환이 투명 레이어를 제공했기 때문에 imagemagic 변환이 실패했습니다. upload.wikimedia.org/wikipedia/commons/5/5d/AstarExample.gif
Ciro Santilli 新疆 改造 中心 法轮功 六四 事件

김프에서 내 GIF를 열었지만 여전히 각 프레임을 개별적으로 보는 방법을 모르겠습니다. 마지막 프레임 만 보입니다. 이 애니메이션으로 작업하고 있습니다 : /tmp/Non-Native-Americans-Territorial-Claims-over-NAFTA-countries-1750-2008.gif
nealmcb

3
GraphicsMagick은 gm convert some-image.gif +adjoin some-image%d.png작동 하는 형태 여야 합니다. 또는 gm convert some-image.gif -coalesce +adjoin some-image%d.png다양한 오프셋을 가진 다양한 크기의 서브 프레임의 경우.
l --marc l

1
지정된 옵션이 convert누락되어 -coalesce사용자가 기대 하는 옵션이 필요합니다.
Marcus

41

다양한 프레임에 투명한 영역이 있고 서로 빌드 된 convert경우 " -coalesce"옵션 과 함께 명령을 사용하여 target-0.png, target-1.png 등의 파일 세트를 생성 할 수 있습니다. 각 파일은 이전 시퀀스를 병합합니다. 이미지 :

convert -coalesce animation.gif target.png

1
좋은 의견이지만 설명이 필요합니다. 기본적으로 ImageMagick에서 @cirosantilli로 인해 발생한 문제가 특정 화면 영역으로 업데이트 된 것처럼 보이는 문제를 해결합니다. -coalesce는 이러한 업데이트를 병합하여 완성 된 렌더링을 제공합니다.
AnthonyVO

3
(ImageMagick 버전 6.7.7부터) 약간의 메모리 누출이있는 것 같습니다 : 스크린 캐스트로 시도하지 마십시오.-coalesce.gif 사용 가능한 모든 메모리가 소비되고 전체 시스템이 중단 될 수 있습니다.
leftaroundabout

4
다음과 같은 방법으로 출력 파일 이름을 지정할 수 있습니다.convert -coalesce animation.gif target.%04d.png
Trevor Boyd Smith

2

나를 위해,와 ImageMagick(버전 정보 : 6.8.9-9 Q16 x86_64 2017-07-31)

convert gif.gif gif.pdf

각 페이지를 입력 gif의 프레임으로 pdf로 만든 다음 선택한 pdf보기 응용 프로그램에서 프레임을 통해 페이지를 넘길 수 있습니다.


OP가 원하는 것과는 달리 지나치게 복잡해 보입니다.
David Foerster

각 프레임을 .pdf의 페이지로 가져 오는 것이 좋은 생각입니다.이 방법이 버그가있을 수 있으므로 응용 프로그램조정해야합니다 .
loved.by.Jesus

2

mpv를 사용하십시오. 바탕 화면에서 엽니 다. gif를 드래그하십시오. s 키를 사용하여 원하는 / 단일 프레임의 스크린 샷을 만듭니다. GIF가 빠르면 일시 중지 할 수도 있습니다. 매우 빠른 방법입니다.

===========

먼저이 설정을 사용하고 싶을 수도 있습니다 [한 번 설정하면 다시 할 필요가 없습니다] .

gedit ~/.config/mpv/mpv.conf

입력하고 저장하십시오.

--screenshot-format 선택 사항 : jpg jpeg png (기본값 : jpg)

최고의 png 품질을 위해 :

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

또는 jpg를 원한다면

--screenshot-jpeg-quality 정수 (0 ~ 100) (기본값 : 90)

사용 mpv --list-options 기타 자세한 내용은


안녕 :) 백 앤드류 .46. 김프를 시도하고 좌절했다. mpv가 할 수있는 일이 많지 않습니다 :]
shantiq
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.