ImageMagick: Renkler ve renk taklidi nasıl yapılır


0

Bir videonun birkaç karesinden bir GIF Animasyonu oluşturmaya çalışıyorum. Sonuçların renkleri sınırlayarak küçük olmasını istiyorum, ancak şeritlenmeden.

Bu yüzden, aklımda, dosyaları okumayı, sonra renkleri azaltmayı, sonra taklit etmeyi düşündüm. Web sitesinde çok sayıda ImageMagick operasyon teorisi okuduktan sonra, şu ana kadar geldiğim komut satırı:

convert -size 640x640 -colors 64 *.png -ordered-dither o8x8,8,8,4 +map \
  -layers Optimize output.gif

.png dosyalar kullanılarak videodan oluşturuldu ffmpeg bunun gibi:

ffmpeg -i source.mp4 -ss 10:01.123 -to 10:03.321 frames/source_%03d.png

Gerçekten nereye koyacağımı bilmiyorum. -colors 64 yan tümce olsa. Önce koymalı mıyım *.jpg kısmen mi sonra mı? Veya hatta sonra -ordered-dither o8x8,8,8,4 Bölüm?

Herhangi bir yardım için teşekkür ederim. ImageMagick için oldukça yeniyim, lütfen nazik olun :-)


Güncelleme 1:

Bu yüzden etrafta oynadım ve bu sezgisel (bana) sonuçları aldım:

-delay 12 -colors 128 *.png -resize 640x640 -ordered-dither o8x8,8 -deconstruct +map \
  -layers Optimize output_1.gif
Result: 3.09 MB, Good quality

-delay 12 *.png -colors 128 -resize 640x640 -ordered-dither o8x8,8 -deconstruct +map \
  -layers Optimize output_2.gif
Result: 3.09 MB, Good quality

-delay 12 *.png -resize 640x640 -colors 128 -ordered-dither o8x8,8 -deconstruct +map \
  -layers Optimize output_3.gif
Result: 4.41 MB, Degraded quality

-delay 12 *.png -resize 640x640 -ordered-dither o8x8,8 -colors 128 -deconstruct +map \
  -layers Optimize output_4.gif
Result: 2.77 MB, Good quality

-delay 12 <individual .png followed by -colors 128 each> -resize 640x640 \
  -ordered-dither o8x8,8 -colors 128 -deconstruct +map -layers Optimize output_5.gif
Result: 3.09 MB, Slightly Better quality

Kısacası: Tüm kombinasyonlar, yalnızca gözle görülür şekilde bozulmuş bir sonuç vermeyen, aynı zamanda en büyük olanı oluşturan 3 numaralı kombinasyon dışında gerçekten iyi kalite üretir.

Bu oldukça beklenmedik bir durum ... sizce: Sonuç nasıl bu kadar çılgınca değişebilirdi?

Yanıtlar:


1

ImageMagick kılavuzuna bakma İşte

Komut Satırının Anatomisi

ImageMagick komut satırı oluşur   arasında:

bir veya daha fazla gerekli giriş dosya adı.

sıfır, bir veya daha fazla görüntü ayarı.

sıfır, bir veya daha fazla görüntü operatörü.

sıfır, bir veya daha fazla görüntü dizisi operatörü.

sıfır, bir veya daha fazla görüntü yığını.

sıfır veya bir çıkış resmi dosya adı (convert, composite, montage için gerekli   karşılaştır, içe aktar, eşlenik).

Her birinin ayrıntılı bir açıklamasını bulabilirsiniz.   Komut satırının kurucu kısımlarının   takip et.

Çok önemli olup olmadığını bilmiyorum, ama bu onu böyle yapılandıracağınız anlamına geliyor:

convert  *.png -size 640x640 -colors 64 -ordered-dither o8x8,8,8,4 +map -layers optimize output.gif

Bu komutu test ettim ve gayet iyi çalıştı, 4x PNG dosyalarını @ 6-7 MB her biri 5.2 MB'lık bir GIF'e dönüştürdü.


Eh? Dahil ettim - üzerinde -layers ... ayrıca doğru yazım nedir, Optimize veya optimize? Yoksa bu anahtar kelime için önemli değil mi?
pepoluan

Neyse, bu "anatomi" bölümünü bana gösterdiğin için teşekkür ederim! Belirli bir sayfayı kaçırmış olmalıyım -
pepoluan

1
@pepoluan Whoops, neden yapmadığını düşündüğümden emin değilim, kopyalayıp yanlış yapıştırmış olmalı! Afedersiniz! Genelde küçük harf, ancak özelliklere göre değişir (metinsel olarak aynıdır, ancak ikili karşılaştırmalar başarısız olur, bu nedenle mümkün olduğu kadar aynı tutun)
Jonno
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.