Создать цветовую палитру из изображения для FFmpeg

Я хочу создать цветовую палитру из изображения, но FFmpeg позволяет создавать палитры только из видео. Единственный известный мне инструмент Bash, который может генерировать цветовые палитры из изображений, — это ImageMagick, но он генерирует палитры в виде *.txt, а мне нужна палитра *.png.

Есть ли инструмент bash для создания палитр с точным контролем? Или, может быть, есть способ сделать это в FFmpeg?

P.S. Мне нужна эта палитра для создания GIF в FFmpeg.


person Peter    schedule 24.12.2017    source источник
comment
FFmpeg позволяет генерировать палитры только из видео --› нет. Для ffmpeg изображение — это видео с 1 кадром.   -  person Gyan    schedule 24.12.2017
comment
@Мульвия, ты прав. Я просто переименовал .png в .mov и смог сгенерировать палитру.   -  person Peter    schedule 25.12.2017
comment
Вам не нужно.   -  person Gyan    schedule 25.12.2017


Ответы (2)


Иногда вам приходится выполнять дополнительную работу, так как у большинства программ есть ограничения. Например, вы говорите: «Но он генерирует палитры в формате *.txt, а мне нужна палитра *.png». Ну, вы на полпути. Используйте текстовый вывод для создания изображения png. На форуме imagemagick есть несколько сообщений об этом, и вот одно из них: http://wizards-toolkit.org/discourse-server/viewtopic.php?t=25478

list=`convert beach.jpg +dither -colors 5 -unique-colors txt:- | tail -n +2 | sed -n 's/^.*\#.* \(.*\).*$/xc\:\1/p'`
convert -size 50x50 $list -append palette.png

Была тема о цветовых палитрах из разных программ, дающих разные результаты, которых следует остерегаться.

person Bonzo    schedule 24.12.2017
comment
Не знаете, для чего весь текст и sed? Почему не просто convert beach.jpg +dither -colors 5 -unique-colors palette.gif? - person Mark Setchell; 24.12.2017
comment
Я не использую Linux, поэтому для меня все это тарабарщина @Mark Setchell! Я думаю, что код записывает текстовый файл в память, а затем читает текстовый файл, чтобы отформатировать данные во что-то, что Imagemagick может использовать. На сайте Imagemagick была лучшая ветка с дополнительной информацией и идеями, но я не смог ее найти. Если бы ОП искал в Интернете, а также здесь, есть и другие темы с примерами, похожими на ваши. - person Bonzo; 24.12.2017

Вы можете создать палитру из PNG с помощью ffmpeg. Попробуй это:

ffmpeg -i target.png -vf palettegen palette.png
person German Lashevich    schedule 18.03.2018