Skalieren und Drehen von Bildern ohne Abhängigkeit von EXIF-Daten?

2710
Jasmine Lognnes

Gibt es so etwas wie einen einfachen Bildeditor für Linux, der das Skalieren und Drehen des Bildes ermöglicht, ohne EXIF-Daten für die Skalierung und Drehung zu verwenden?

Bisher habe ich EOG, Shotwell und GIMP ausprobiert. Wenn ich die Bilder drehe, werden sie im EXIF-Header gespeichert. Das will ich nicht.

Selbst wenn GIMP dies tun könnte, ist es viel zu zeitaufwändig, da beim Umgang mit JPEG-Dateien jede Menge Mausklicks erforderlich sind.

9
Wenn Sie also ein Bild um 90 Grad nach links drehen, möchten Sie, dass das Bild selbst in den Daten um 90 Grad nach links gedreht wird. Nicht über die in den EXIF-Daten gespeicherten Informationen, richtig? JakeGould vor 8 Jahren 2
Genau. Ich brauche das, weil Github README.md-Dateien EXIF ​​nicht verstehen. Jasmine Lognnes vor 8 Jahren 0
Bingo! Ich habe eine umfassendere Antwort gepostet, aber ich glaube, das Problem, dem Sie gegenüberstehen, ist der grundlegende Unterschied zwischen dem * Speichern * eines Bildes in einem modernen Bildbearbeitungsprogramm und dem * Exportieren * eines Bildes. Meine Antwort geht mehr ins Detail, aber ich glaube, wenn Sie ein JPEG-Format über GIMP exportieren, erhalten Sie genau die gewünschten Ergebnisse, ohne sich mit EXIF-Daten befassen zu müssen, die für Transformationen wie Skalierung und Rotation bevorzugt werden. JakeGould vor 8 Jahren 0
Durch den Export von GIMP auf einem Exif-gestrippten JPEG-Element wurde ein neues hinzugefügt. Jasmine Lognnes vor 8 Jahren 0
Ja, möglicherweise wurden neue EXIF-Daten hinzugefügt, aber wurden die tatsächlichen Bilddaten entsprechend Ihrer Frage entsprechend der Ausrichtung geändert? JakeGould vor 8 Jahren 0

4 Antworten auf die Frage

15
JakeGould

Gibt es einen einfachen Bildeditor für Linux, der das Skalieren und Drehen des Bildes ohne EXIF-Daten für die Skalierung und Drehung ermöglicht?

Speichern im Vergleich zum Export

Ich weiß, Sie geben an, dass Sie dies nicht wirklich in GIMP tun möchten, aber meiner Erfahrung nach ist das Problem, mit dem Sie konfrontiert sind - Software, die EXIF-Orientierungsdaten gegenüber dem tatsächlichen Umwandeln von Pixeln im Bild bevorzugt - auf den Unterschied zwischen dem Exportieren eines Bildes und des Bildes zurückzuführen ein Bild speichern

In der Vergangenheit würden 100% aller Bildeditoren in der Welt Pixel umwandeln / modifizieren, wenn es um einfache Orientierungstransformationen geht. Es ist erst in relativ kurzer Zeit, dass Bildbearbeitungsprogramme die Verwendung von EXIF-Daten zum Speichern einiger physischer Transformationsdaten verwenden.

Warum? Einfach. Da das JPEG-Format ein verlustbehaftetes Format ist - selbst wenn die Qualität auf 100% eingestellt ist -, wird das Speichern eines JPEG für einfache Dinge wie Bildrotation die Daten langsam beeinträchtigen. Wenn Sie diese Daten jedoch als EXIF-Informationen speichern, bleibt das unformatierte JPEG-Bild unberührt, die Transformationsdaten werden jedoch weitergegeben, sodass Sie das Bild gedreht sehen können, ohne dass dabei das Bild beeinträchtigt wird.

Hier setzt das Exportkonzept an. Viele Bildbearbeitungsprogramme, wie z. B. GIMP, ermöglichen das Exportieren eines Bilds. Dies bedeutet im Wesentlichen, dass die Bilddaten selbst geändert und für die Verwendung in einer Bildbearbeitungssoftware optimiert werden.

Zwar gibt es andere Softwaretools, die Bilddaten für Aufgaben wie das Drehen von Objekten explizit ändern, es könnte jedoch übertrieben sein, sie zu installieren und zu verwenden. Stattdessen würde ich empfehlen, einfach mit der Exportfunktion in der von Ihnen verwendeten Bildbearbeitungssoftware zu experimentieren. Sei es GIMP, Photoshop oder etwas anderes.

Stapelverarbeitung

Trotzdem erwähnen Sie, dass GIMP für Ihre Anforderungen möglicherweise zu zeitaufwändig ist. Unklar, was Ihr Arbeitsablauf genau ist, aber wenn Sie einen Ordner / ein Verzeichnis mit JPEGs haben, das Sie möglicherweise bearbeiten müssen, würde ich empfehlen , die in dieser anderen Antwort genannten Tools zu untersuchen :

  • Exiftran : Ein Tool zum Umwandeln von JPEG-Bildern von Digitalkameras, das folgende Funktionen bietet:

Es kann verlustfreie Rotationen wie jpegtran ausführen, aber im Gegensatz zu jpegtran sind die EXIF-Daten von Belang: Es kann Bilder automatisch drehen, indem das Exif-Orientierungs-Tag überprüft wird, es werden bei Bedarf die Exif-Informationen aktualisiert (Bilddimension, Ausrichtung) und das Exif-Miniaturbild gedreht . Es können mehrere Bilder gleichzeitig verarbeitet werden.

  • JHead : Spezielljheadmit der-autorotOption, die beschrieben wird als:

Drehen Sie das Bild mit dem 'Orientation'-Tag des Exif-Headers so, dass es aufrecht steht. Das Programm 'jpegtran' dient zur Durchführung der Rotation. Dieses Programm ist in den meisten Linux-Distributionen enthalten. Für Windows benötigen Sie eine Kopie davon. Nach der Drehung wird das Orientierungs-Tag des Exif-Headers auf '1' (normale Orientierung) gesetzt. Das Exif-Miniaturbild wird ebenfalls gedreht. Andere Felder des Exif-Headers, einschließlich der Abmessungen, bleiben unberührt, die Höhe / Breite des JPEG-Bildes wird jedoch angepasst.

Diese Funktion ist besonders bei neueren Digitalkameras nützlich, bei denen das Ausrichtungsfeld im Exif-Header automatisch mithilfe eines eingebauten Ausrichtungssensors in der Kamera festgelegt wird.

Hier ist ein anderes Werkzeug, das in diesem anderen Thread erwähnt wird :

  • NConvert : NConvert ist der Multi-Format-Befehlszeilen-Bildkonverter für Win32, Linux, DOS, OS / 2 und andere Plattformen. Schnellstart-Details scheinen hier zu sein . Und es scheint, dass, wenn Sienconvertmit der-jpegtransOption verwenden, genau das ist, wonach Sie suchen. Aber ich frage mich, ob das nur die gleiche Bibliothek / Kernfunktionalität verwendet,jpegtranwie diese andere Antwort auf diese Frage empfiehlt.

Vielleicht würde das ImageMagick- convert Tool mit der -auto-orientOption für Sie funktionieren?

-auto-orientiert

passt ein Bild so an, dass seine Ausrichtung für die Anzeige geeignet ist (dh Ausrichtung von links oben).

Dieser Operator liest und setzt die EXIF-Bildprofileinstellung 'Orientierung' zurück und führt dann die entsprechende 90-Grad-Drehung des Bildes aus, um das Bild für eine korrekte Anzeige auszurichten.

Diese Einstellung für das EXIF-Profil wird normalerweise mit einem Schwerkraftsensor in der Digitalkamera festgelegt. Fotos, die direkt nach unten oder oben aufgenommen wurden, haben jedoch möglicherweise keinen geeigneten Wert. Bilder, bei denen die Ausrichtung korrigiert wurde, ohne diese Einstellung zurückzusetzen, werden möglicherweise erneut korrigiert, was zu einem falschen Ergebnis führt. Wenn das EXIF-Profil zuvor entfernt wurde, unternimmt der -auto-orient-Operator nichts.

Es wäre perfekt, wenn ein Befehlszeilentool die eigentliche Pixeldrehung basierend auf EXIF ​​ausführen und anschließend die EXIF-Informationen löschen könnte. Ist das möglich? Jasmine Lognnes vor 8 Jahren 0
@JasmineLognnes Ich habe keines dieser Tools tatsächlich selbst verwendet - aber diese Frage ist eine gute Referenz für Werkzeuge, die ich untersuchen sollte -, aber mir scheint, dass Sie nach 'Exiftran' und 'Jpegtran' suchen. Ich würde mit den Optionen dieser beiden Werkzeuge experimentieren und sehen, was passiert. Das Beste was ich tun kann. Viel Glück! JakeGould vor 8 Jahren 1
Möglicherweise finden Sie es witzig, dass das System diese Antwort als Prüftest in der LQ Post-Überprüfungswarteschlange ausgewählt hat. Ich habe dafür gestimmt, es nicht zu löschen, übrigens, und anscheinend war das die richtige Antwort. :-) fixer1234 vor 8 Jahren 1
@ fixer1234 Ja, ich habe das selbst gesehen, als ich die Posts mit niedriger Qualität vorher geprüft hatte. Urkomisch! Möglicherweise wurde dies durch die Anzahl verschiedener Links zu unterschiedlichen Paketen ausgelöst, die mir empfohlen werden. Aber hey! Ich bin glücklich, dass es einen automatisierten Polizeimechanismus gibt, der zumindest eine Komponente zur Filterung von Menschen enthält. JakeGould vor 8 Jahren 0
2
choroba

Normalerweise verwende ich jpegtranFotos zum Drehen:

jpegtran -copy all -rotate 90 -outfile newimg.jpg oldimg.jpg 

90 dreht sich nach rechts, verwenden Sie 270 für links (und 180 für Flip).

2
d2xdt2

Beim Exportieren in GIMP können Sie vor dem Speichern im Popup auf Erweitert klicken, um EXIF ​​und XMP zu deaktivieren.

Der Gesamtalgorithmus für das Skript

  • für jede Datei
  • Wert speichern aus exiftool * | grep Orientation
  • Exif mit entfernen exiftran -ai *
  • verwenden, convert -rotatemit dem Wert aus Schritt 2
Genau das habe ich gesucht. Eine Methode, die erkennt, ob das Bild gedreht wird, und dann eine Möglichkeit, es basierend darauf zu drehen. Vielen Dank! Carlos Alberto Martínez Gadea vor 5 Jahren 0
0
SPRBRN

Mit Exiftool können Sie EXIF-Daten aus JPEG-Bildern entfernen.

Ja, das ist großartig, aber wenn ich die Bilder anschließend bearbeite, werden neue EXIF-Header hinzugefügt. Jasmine Lognnes vor 8 Jahren 0
EXIFTool kann die Daten entfernen, aber das Bild nicht ändern, drehen oder skalieren. Die Daten werden einfach gelöscht, und das JPEG-Format wird in dem ursprünglichen Rohformat angezeigt, in dem es ursprünglich vorhanden war. Dies ist in einigen Fällen nützlich, in einem solchen Fall jedoch nicht. JakeGould vor 8 Jahren 0