Saya sedang mencari konverter gambar baris perintah tercepat untuk Linux yang dapat membaca gambar JPEG, menurunkannya menjadi paling banyak 1366x768, dan menulis 50 gambar JPEG berkualitas. Sesuatu seperti ini, tetapi jauh lebih cepat daripada ImageMagick:
$ convert -resize x768 -quality 50 foo42.jpg foo42.th.jpg
# takes 0m16.713s for my test image set
Saya juga sudah mencoba ini:
$ <foo42.jpg djpeg | pnmscale -xysize 1366 768 | cjpeg -quality 50 >foo42.th.jpg
# takes 0m12.007s for my test image set, and has lower visual quality than ImageMagick
Jadi saya ingin memiliki program, lebih disukai ditulis dalam C, yang mengintegrasikan djpeg, versi pnmscale kualitas tinggi, dan cjpeg.
Saya baru saja menemukan swiggle (program C menggunakan libjpeg), saya telah menonaktifkan beberapa fungsionalitasnya yang tidak saya butuhkan dalam kode sumber, dan saya punya:
$ swiggle -f -H 768 .
# takes 0m11.378s for my test image set, yields high quality results
Apakah Anda punya saran lain? Saya kira sebagian besar konverter gambar menggunakan libjpeg, jadi akan sulit untuk mendapatkan hasil yang jauh lebih cepat daripada swiggle.
Jawaban:
Pustaka tercepat yang saya gunakan sejauh ini jelas merupakan EPEG . Itu hanya dapat membuat jempol dari file JPG, tetapi itu membuatnya sangat cepat:
Imagemagick:
EPEG:
Saya menggunakan perpustakaan ini untuk membuat jempol untuk gambar yang sangat besar.
sumber
Saya telah memecahkan masalah ini dengan mengunduh swiggle (thumbnail baris perintah JPEG + generator galeri gambar HTML), dan memodifikasi sumbernya untuk kebutuhan saya. Lihat pengukuran kecepatan dalam pertanyaan (kurang dari 10% lebih cepat dari djpeg + pnmscale + cjpeg).
sumber