Skalierung und Drehung des Bildes ohne Abhängigkeit von EXIF-Daten?

10

Gibt es einen einfachen Bildeditor für Linux, mit dem das Bild skaliert und gedreht werden kann, ohne EXIF-Daten für die Skalierung und Drehung zu verwenden?

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

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

Jasmine Lognnes
quelle
2
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 in den EXIF-Daten gespeicherte Informationen, richtig?
JakeGould
Genau. Ich brauche das, weil Github README.md-Dateien EXIF ​​nicht verstehen.
Jasmine Lognnes
Bingo! Ich habe eine ausführlichere Antwort veröffentlicht, aber ich glaube, das Problem, auf das Sie stoßen, ist der grundlegende Unterschied zwischen dem Speichern eines Bildes in einem modernen Bildbearbeitungsprogramm und dem Exportieren eines Bildes. Meine Antwort geht detaillierter, aber ich glaube, wenn Sie ein JPEG ü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
Durch die Verwendung des GIMP-Exports für ein exif-entferntes JPEG wurde ein neues hinzugefügt.
Jasmine Lognnes
Ja, es wurden möglicherweise neue EXIF-Daten hinzugefügt, aber wurden die tatsächlichen Bilddaten geändert, um der Ausrichtung zu entsprechen, als Ihre Frage gestellt wurde?
JakeGould

Antworten:

15

Gibt es einen einfachen Bildeditor für Linux, mit dem das Bild skaliert und gedreht werden kann, ohne EXIF-Daten für die Skalierung und Drehung zu verwenden?

Speichern versus Exportieren

Ich weiß, dass Sie angeben, dass Sie dies in GIMP nicht wirklich tun möchten, aber meiner Erfahrung nach läuft das Problem, auf das Sie stoßen - Software, die EXIF-Orientierungsdaten gegenüber der tatsächlichen Transformation von Pixeln im Bild bevorzugt - auf den Unterschied zwischen dem Exportieren eines Bildes und ein Bild speichern .

In der Vergangenheit haben 100% aller Bildeditoren auf der Welt tatsächlich Pixel transformiert / modifiziert, wenn es sich um einfache Orientierungstransformationen handelt. Erst vor relativ kurzer Zeit verwenden Bildbearbeitungsprogramme EXIF-Daten zum Speichern einiger physischer Transformationsdaten.

Warum? Einfach. Da das JPEG-Format ein verlustbehaftetes Format ist - selbst wenn die Qualität auf 100% eingestellt ist - werden die Daten durch Speichern eines JPEG für einfache Dinge wie Bilddrehung langsam verschlechtert. Im Gegensatz dazu bleibt das JPEG-Rohbild unberührt, wenn diese Daten als EXIF-Informationen gespeichert werden. Die Transformationsdaten werden jedoch weitergegeben, sodass Sie sehen können, wie das Bild gedreht wird, ohne das Bild dabei zu beeinträchtigen.

Hier kommt das Exportkonzept ins Spiel. Viele Bildbearbeitungsprogramme wie GIMP ermöglichen das Exportieren eines Bildes, was im Grunde bedeuten würde, die Bilddaten selbst zu ändern und für die Verwendung in Nicht-Bildbearbeitungssoftware zu optimieren.

Während es möglicherweise andere Softwaretools gibt, die Bilddaten explizit für Aufgaben wie die Rotation ändern, ist es möglicherweise übertrieben, sie zu installieren und zu verwenden. Stattdessen würde ich empfehlen, einfach mit der Exportfunktion in der von Ihnen verwendeten Bildbearbeitungssoftware zu experimentieren. ob es GIMP, Photoshop oder etwas anderes ist.

Stapelverarbeitung

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

  • exiftran : Ein Tool zum Transformieren von JPEG-Bildern von Digitalkameras, das Folgendes tun kann:

Es kann verlustfreie Rotationen wie jpegtran ausführen, aber im Gegensatz zu jpegtran kümmert es sich um die EXIF-Daten: Es kann Bilder automatisch drehen, indem es das Exif-Orientierungs-Tag überprüft, es aktualisiert die Exif-Informationen bei Bedarf (Bildgröße, Ausrichtung) und es dreht auch das Exif-Miniaturbild . Es können mehrere Bilder gleichzeitig verarbeitet werden.

  • JHead : Spezielljheadmit der-autorotOption, die wie folgt beschrieben wird:

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

Diese Funktion ist besonders nützlich bei neueren Digitalkameras, die das Ausrichtungsfeld im Exif-Header automatisch mithilfe eines in der Kamera integrierten Ausrichtungssensors einstellen.

Hier ist ein weiteres Tool, das in diesem anderen Thread erwähnt wird :

  • NConvert : NConvert ist der Multiformat-Befehlszeilen-Bildkonverter für Win32, Linux, DOS, OS / 2 und andere Plattformen. Details zum Schnellstart scheinen hier zu sein . Und es scheint, dass wenn Sienconvertmit der-jpegtransOption verwenden, genau das ist, wonach Sie suchen. Aber ich frage michob das nutzt nur die gleiche Bibliothek / Kernfunktionalitätjpegtranwie dies andere Antwort auf diese Frage empfiehlt?

Schließlich würde es vielleicht für Sie funktionieren , das ImageMagick- convert Tool mit der -auto-orientOption zu verwenden?

-auto-orient

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

Dieser Bediener liest und setzt die EXIF-Bildprofileinstellung 'Ausrichtung' zurück und führt dann die entsprechende 90-Grad-Drehung am Bild durch, um das Bild für eine korrekte Anzeige auszurichten.

Diese EXIF-Profileinstellung wird normalerweise mithilfe eines Schwerkraftsensors in einer Digitalkamera eingestellt. Fotos, die direkt nach unten oder oben aufgenommen wurden, haben jedoch möglicherweise keinen geeigneten Wert. Auch Bilder, deren Ausrichtung ohne Zurücksetzen dieser Einstellung "korrigiert" wurde, können erneut "korrigiert" werden, was zu einem falschen Ergebnis führt. Wenn das EXIF-Profil zuvor entfernt wurde, führt der Operator -auto-orient nichts aus.

JakeGould
quelle
Es wäre perfekt, wenn ein Befehlszeilentool die tatsächliche Pixeldrehung basierend auf EXIF ​​ausführen und anschließend die EXIF-Informationen löschen könnte. Ist das möglich?
Jasmine Lognnes
1
@JasmineLognnes Ich habe nicht wirklich jedes dieser Werkzeuge verwende ich, aber diese Frage ist eine gute Referenz für Werkzeuge , die ich soll-untersuchen , aber es scheint mir , dass exiftranund jpegtrankönnte das sein , was Sie suchen. Ich würde mit den Optionen dieser beiden Tools experimentieren und sehen, was passiert. Das Beste, was ich tun kann. Viel Glück!
JakeGould
1
Möglicherweise finden Sie es witzig, dass das System diese Antwort als Audittest 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
@ fixer1234 Ja, das habe ich selbst gesehen, als ich früher Beiträge von geringer Qualität überprüft habe. Urkomisch! Möglicherweise wurde dies durch die Anzahl der verschiedenen Links zu unterschiedlichen Paketen ausgelöst, die mir empfohlen werden. Aber hey! Ich bin froh, dass es einen automatisierten Überwachungsmechanismus gibt, der zumindest eine menschliche Filterkomponente enthält.
JakeGould
2

Normalerweise jpegtrandrehe ich Fotos:

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

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

Choroba
quelle
2

Beim Exportieren in GIMP können Sie kurz 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 von exiftool * | grep Orientation
  • exif mit entfernen exiftran -ai *
  • Verwenden Sie convert -rotatemit Wert aus Schritt 2
d2xdt2
quelle
Genau das habe ich gesucht. Ein Weg, der erkennt, ob das Bild gedreht wird, und ein Weg, um es basierend darauf zu drehen. Vielen Dank!
Xarlymg89
0

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

SPRBRN
quelle
Ja, das ist großartig, aber wenn ich die Bilder danach bearbeite, werden neue EXIF-Header hinzugefügt.
Jasmine Lognnes
EXIFTool kann die Daten entfernen, jedoch nicht ändern, drehen oder skalieren und abbilden. Diese Daten werden nur gelöscht, und das JPEG wird dann in dem Rohformat angezeigt, in dem es ursprünglich vorhanden war. Dies ist in einigen Fällen nützlich, in einem solchen Fall jedoch nicht.
JakeGould