Создание высококачественного gif с помощью imagemagick приводит к появлению белых пятен

#imagemagick #gif

#imagemagick #gif

Вопрос:

Я хочу создать gif из следующих изображений: (У меня недостаточно репутации, чтобы их вставлять)

 https://github.com/Dragon8oy/argon-grub-theme/raw/master/docs/Crystals.png
https://github.com/Dragon8oy/argon-grub-theme/raw/master/docs/Grey.png
https://github.com/Dragon8oy/argon-grub-theme/raw/master/docs/Night.png
  

Я использую:

 convert -alpha remove -layers OptimizePlus -delay 150 -loop 0 *.png Gallery.gif
  

Что создает результат:

 https://i.imgur.com/lgHskVq.gif
  

В результате получаются белые пятна над средней горой в 3-м кадре.
Я не беспокоюсь о размере файла, поэтому, если опция gif без потерь, это сработает.
Спасибо 🙂

Комментарии:

1. Какая у вас версия и платформа для обмена мгновенными сообщениями? Для меня результат выглядит нормально. Ваш файл Night.png содержит белые пятна над горами на входном изображении. Поэтому они будут отображаться в выходном gif.

2. Я использую Sid Debian, версия IM: 6.9.11.24. В файле Night.png есть белые точки, но их нет ни на одной из гор, а средняя гора покрыта белыми точками, которых нет в файле Night.png

Ответ №1:

При квантовании ImageMagick по умолчанию используется сглаживание. Ваше изображение Night.png имеет более 256 цветов, а GIF допускает только 256. Таким образом, при квантовании до 256 цветов пятна создаются из-за сглаживания. Вы можете отключить сглаживание и получить более плавный результат, добавив dither к вашей команде. Это работает для меня на IM 6.9.11.34 Q16 Mac OSX.

 convert -delay 150 Crystals.png Grey.png Night.png  dither -alpha off -loop 0 Gallery.gif
  

введите описание изображения здесь