Ich suche den schnellsten Befehlszeilen-Bildkonverter für Linux, der ein JPEG-Bild lesen, auf höchstens 1366 x 768 verkleinern und ein qualitativ hochwertiges 50-JPEG-Bild schreiben kann. So etwas, aber viel schneller als ImageMagick:
$ convert -resize x768 -quality 50 foo42.jpg foo42.th.jpg
# takes 0m16.713s for my test image set
Ich habe auch Folgendes versucht:
$ <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
Daher hätte ich gerne ein Programm, das vorzugsweise in C geschrieben ist und djpeg, eine qualitativ hochwertigere Version von pnmscale, und cjpeg integriert.
Ich habe gerade swiggle gefunden (ein C-Programm, das libjpeg verwendet), ich habe einige seiner Funktionen deaktiviert, die ich im Quellcode nicht benötige, und ich habe:
$ swiggle -f -H 768 .
# takes 0m11.378s for my test image set, yields high quality results
Hast du noch einen Vorschlag? Ich denke, die meisten Bildkonverter verwenden libjpeg, daher wäre es schwierig, viel schnellere Ergebnisse als Swiggle zu erzielen.
Antworten:
Die schnellste Bibliothek, die ich bisher verwendet habe, ist definitiv EPEG . Es kann nur Daumen aus JPG-Dateien erstellen, aber es erstellt sie sehr schnell:
Imagemagick:
EPEG:
Ich habe diese Bibliothek verwendet, um Daumen für eine große Anzahl wirklich großer Bilder zu erstellen .
quelle
Ich habe dieses Problem gelöst, indem ich swiggle (ein JPEG-Miniaturbild mit Befehlszeile + HTML-Bildergalerie-Generator) heruntergeladen und seine Quelle an meine Bedürfnisse angepasst habe. Siehe die Geschwindigkeitsmessungen in der Frage (weniger als 10% schneller als djpeg + pnmscale + cjpeg).
quelle