Jpegtran vergrößerte die Bilder

1

Ich habe jpegtran auf einer Reihe von Bildern als solche ausgeführt:

$ jpegtran -copy none -optimize

Die meisten wurden um ein Vielfaches verkleinert. Aber einige von ihnen nahmen tatsächlich an Größe zu. Wie kann das sein?

Buttle Butkus
quelle
1
Wahrscheinlich, weil die Huffman-Tische bereits optimal waren und jpegtran das nicht erkannte? (In diesem Fall sollte die größere Version im Idealfall verworfen werden. Wenn dies nicht der Fall ist, sollten Sie einen Fehler melden.) Stattdessen können Sie viele andere Hilfsprogramme ausprobieren.
Karan,

Antworten:

1

Das -optimizeFlag "Optimierung der Entropiecodierungsparameter durchführen" (direkt aus dem jpegtranHandbuch ) sagt nichts über die Größe des Ergebnisses aus. Wenn die Quellbilddatei keine Kommentare oder anderes "Übergepäck" enthält, das von entfernt wurde -copy none, sehe ich keinen Grund, warum die Datei nicht um einen Bruchteil größer werden konnte.

Kusalananda
quelle
Ich sehe einen guten Grund, warum die Datei nicht größer werden sollte - den Sinn von jpegtrans "Optimize" -Flag! Es gibt nichts Optimales an einer größeren Datei! Es könnte nichts Wertvolles sein, keine zusätzlichen Details zum Bild der Freikarten für die Oper oder etwas anderes. Wie der Kommentator sagte, sollte jpegtran das ursprüngliche Bild so lassen, wie es ist, wenn seine "Optimierung" nicht optimal ist. Insgesamt habe ich eine Menge Speicherplatz gespart (etwas über 60, vielleicht 70%), aber es wäre wahrscheinlich ein paar Prozent mehr gewesen, wenn diese einfache Überprüfung durchgeführt worden wäre.
Buttle Butkus
Das jpegtransHandbuch bezieht sich auf das Handbuch von cjpegfür weitere Informationen über die -optimizeFlagge. Es heißt " -optimizeNormalerweise verkleinert die JPEG-Datei etwas". Obwohl es tatsächlich die Größe des Bildes erwähnt, macht es definitiv keine Versprechungen. Ich denke, dass die Einsparungen, die Sie durch die Verwendung des Flags erzielen, unbedeutend (oder zumindest viel geringer) sind als die Einsparungen, die Sie durch das Entfernen von EXIF-Tags usw. erzielen -copy none.
Kusalananda
Vielleicht werde ich es -optimizeohne versuchen -copy noneund sehen, welche mehr zu den Einsparungen beigetragen hat, die ich gesehen habe. Übrigens, Sie haben optimizezu Beginn Ihres Beitrags einen Tippfehler gemacht (Sie haben das "p" verpasst).
Buttle Butkus