Wie schneide ich ein JPG zu, ohne es neu zu komprimieren?

Ist es möglich, ein JPG-Bild zuzuschneiden, ohne an Qualität zu verlieren/den verbleibenden Teil des Bildes neu zu komprimieren?

Ich glaube nicht, dass das Zuschneiden eines Bildes an Qualität verliert.
Nicht an sich. Wenn der von Ihnen verwendete Bildeditor jedoch nicht intelligent genug ist, kann er beim Speichern des zugeschnittenen Bildes leicht ein bereits komprimiertes Bild erneut komprimieren, was unnötig wäre und zu Bildverlust führen würde. Ich frage mich, ob es möglich ist, dies zu vermeiden.
Können Sie mir sagen, was für eine Software Sie verwenden? zur Bildbearbeitung

Antworten (4)

Das verlustfreie Zuschneiden eines JPEG-Bildes ist mit der Anwendung "jpegtran" möglich, die mit libjpeg geliefert wird; siehe https://en.wikipedia.org/wiki/Libjpeg .

Zitieren von "man jpegtran" auf einem System, auf dem jpegtran installiert ist:

.. verlustfreies Zuschneiden wird durch das aktuelle JPEG-Format eingeschränkt: Die obere linke Ecke des ausgewählten Bereichs muss auf eine iMCU-Grenze [8 oder 16] fallen. Wenn dies für die gegebenen Zuschneideparameter nicht gilt, verschieben wir stillschweigend die obere linke Ecke nach oben und/oder nach links, um dies zu erreichen, und vergrößern gleichzeitig die Bereichsabmessungen, um die untere rechte Zuschneideecke unverändert zu lassen. (Daher deckt das Ausgabebild mindestens den angeforderten Bereich ab, kann aber mehr abdecken.)

Mit anderer Bildbearbeitungssoftware können Sie den Verlust minimieren, indem Sie sicherstellen, dass der zugeschnittene Bereich Abmessungen hat, die ein Vielfaches von 8 sind, und mit einem Versatz von einem Vielfachen von 8 (oder 16, wenn die Farben unterabgetastet wurden) von der oberen linken Ecke von angeordnet ist das Originalbild, und dass die "Qualität" der Komprimierung die gleiche wie die des Originalbildes ist.

Das Wiki sagt "Zuschneiden an Bildblockrändern (alle 8 × 8 oder 16 × 16 Pixel)." Schränkt Sie das Tool auf diese Grenzen ein, um dies zu ermöglichen? Ich vermute aus Ihrer Notiz zur Minderung von Verlusten in anderen Programmen, dass die Antwort "Ja" (?)
Manchmal muss das Vielfache 16 statt 8 sein. JPEG ermöglicht die Unterabtastung der Farbinformationen, was bedeutet, dass die 8x8-Blöcke für diese Farbkomponenten tatsächlich 16x16 Pixel abdecken.
@MarkRansom richtig, danke. Ich habe die Antwort erweitert, um "oder 16" zu erwähnen.
Wie stellen Sie fest, ob die iMCU 8 oder 16 unter Linux ist?
@LuisA.Florit Sie könnten ImageMagicks "identify -verbose" oder ein anderes JPEG-Untersuchungstool ausführen und nach den "Sampling-Faktoren" suchen.
@GlennRanders-Pehrson: Ich habe jpeg:sampling-factor: 1x1,1x1,1x1 Was bedeutet das?
@GlennRanders-Pehrson: Ich denke MCU=8 nur wenn jpeg:sampling-factor=1x1,1x1,1x1, sonst MCU=16?

FreeVImager kann dies mit einer netten GUI tun.Menü zum verlustfreien Zuschneiden Verlustfreier Erntebetrieb

Es kann auch JPEGs verlustfrei drehen (90-Grad-Drehungen sind verlustfrei). Es ist FOSS, also wenn Sie auf Linux sind, lohnt es sich, Wine für eins zu bekommen.

Hmm ... Ich habe es versucht und die aktuelle Version stimmt mit Ihrer Illustration überein. Aber ich kann kein "Akzeptieren"- oder "Fertig"-Steuerelement finden, das ich verwenden kann, nachdem ich das Rechteck an die gewünschte Position verschoben habe.
@JDługosz drücken Sie einfach die Eingabetaste :) (der Tipp in der Statuszeile) Außerdem ist der Autor kommunikativ und antwortet gerne auf E-Mails. Du kannst es ihm sagen ;-)
Wow, Haus meiner Schwester in Stack Exchange :) . Danke, wenn ich FreeVimager verwende, kann ich große Größe zuschneiden jpg; Wenn ich GIMP benutze, kann ich es nicht tun.
Dieses Programm rastet die untere und rechte Seite an iMCU-Grenzen ein, obwohl es unnötig und restriktiv ist. IrfanView hat bei mir besser funktioniert.
Das beschnittene Bild ist größer als das Originalbild, wobei die verlustfreie Beschneidungsgebühr in FreeVImager 9.9.10 verwendet wird. Also nutzlos...
@AndreaGiudiceandrea Ich habe auf 7.7.0 aufgehört, da es das letzte ist, das tatsächlich kostenlos ist (neuere sind Shareware). Und ich habe keine Größenzunahme bei meinen Fotos gesehen. Kannst du ein Beispiel geben? Vielleicht haben Sie das Foto nach dem verlustfreien Zuschneiden erneut gespeichert (also neu komprimiert)? Wie auch immer, verlustfreies Zuschneiden dient nicht dazu, "die Dateigröße zu verringern", sondern um Qualitätsverluste aufgrund von Neukomprimierung zu vermeiden, während einige Teile eines Bildes entfernt werden. Daher ist es selbst bei zunehmender Größe nicht nutzlos.
@LogicDaemon, ich öffne ein JPEG-Bild mit 4000 x 6400 Pixel und etwa 3,54 MB in FreeVImager. Mit dem Tool JPEG Advanced -> Lossless crop wähle ich einen Bereich mit 3360 x 6056 Pixeln aus und drücke dann die Eingabetaste: Das Ergebnis ist ein Bild mit 3360 x 6056 Pixeln (-20 %) und 4,10 MB (+16 %). Oder wenn Sie dasselbe Bild verlustfrei auf 3888 x 6304 (-4 %) zuschneiden, ist das Ergebnisbild 4,14 MB groß (+17 %). Wie auch immer, Sie haben Recht, wahrscheinlich ist es nicht völlig nutzlos. Sie finden die Testbilddatei und die zugeschnittenen unter mega.nz/folder/C7gjETYZ#LsqBhwU92MaSRIHQr6nV5A
@AndreaGiudiceandrea Ich habe verifiziert, der gleiche Effekt der Größenzunahme für mich mit Version 7.7.0. Keine Ahnung, ob dies das Ergebnis einiger Originalbildoptimierungen oder eines Fehlers in FVI beim Zuschneiden von 8-Bit-Graustufen-JPEGs ist. Noch nie zuvor solche JPEGs in freier Wildbahn gesehen.

Irfanview verfügt über verlustfreie JPG-Zuschneide- und Rotationsfunktionen:

Geben Sie hier die Bildbeschreibung ein

Dies erreichen Sie im Menü mit Optionen -> JPG Lossless Crop... (PlugIn).

Wenn Sie Photoshop® verwenden, glaube ich nicht, dass das Bild beim Zuschneiden komprimiert wird. Die Komprimierung erfolgt, wenn Sie das Dokument erneut als JPG speichern . Es ist immer am besten, mit dem höchstmöglichen verlustfreien unkomprimierten Bildformat zu beginnen, z. B. .NEF, .BMP ... andere (?) Wie das Sprichwort sagt, poop in poop out.

Ich glaube nicht, dass es so ist, wie du denkst. Ich denke, Photoshop kann ohne Neukomprimierung nicht zuschneiden.