Як я можу розділити анімований .gif файл на його складові кадри?


44

Як легко розділити анімований файл .gif? Я хочу бачити кожен кадр.

Я дійсно вважаю за краще не експортувати кожен кадр у каталог. Я хотів би переглядати їх окремо в одній програмі, якщо можливо.

Чи можливо це в Linux?

Відповіді:


52

Спробуйте відкрити їх за допомогою The Gimp; Я вірю, що це відкриє анімовані 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
для мене не вдалося перетворити Imagemagic конвертувати, оскільки, схоже, кожне зображення gif було представлене як новий прозорий шар фону, а перетворення дало ці прозорі шари: upload.wikimedia.org/wikipedia/commons/5/5d/AstarExample.gif
Ciro Santilli 新疆 改造 中心 法轮功 六四 事件

Я відкрив gif в gimp, але все ще не знаю, як переглянути кожен кадр окремо - я просто бачу останній кадр. Я працюю з цією анімацією: /tmp/Non-Native-American-Nations-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опція, необхідна для того, що очікував би користувач.
Маркус

41

Якщо різні кадри мають прозорі області та будуються один на одному, ви можете використовувати convertкоманду з -coalesceопцією " " для створення набору файлів target-0.png, target-1.png тощо, кожен з яких об'єднує послідовність попередніх зображення:

convert -coalesce animation.gif target.png

1
Чудовий коментар, але потребує пояснення. В основному це вирішує проблему @cirosantilli, коли ImageMagick повертає те, що виглядало сподобалися оновленням для певних областей екрана. -coalesce об'єднує ці оновлення, щоб отримати готову візуалізацію.
AnthonyVO

3
Слід зазначити, що (як для ImageMagick версії 6.7.7), здається, є деяка протікання пам’яті: не намагайтесь робити -coalesceдовгі .gifекранні екрани , вона, ймовірно, споживатиме всю наявну пам’ять і, можливо, повісить всю вашу систему.
Ліворуч близько

4
Ви можете вказати імена вихідних файлів через щось на зразок:convert -coalesce animation.gif target.%04d.png
Тревор Бойд Сміт

2

для мене, з ImageMagick(версія інформації: 6.8.9-9 Q16 x86_64 2017-07-31)

convert gif.gif gif.pdf

робить pdf, коли кожна сторінка є рамкою gif введення, тоді ви можете просто переглядати кадри в програмі для перегляду pdf, обраної вами


Це здається надмірно складним і на відміну від того, чого хоче ОП.
Девід Фоерстер

Щоб отримати кожен кадр як сторінку в .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 для інших деталей


Привіт :) назад andrew.46. спробував Гімп і розчарувався. не так багато, що mpv не може зробити:]
shantiq
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.