Drehen eines Bildes mit der in EXIF ​​angegebenen Ausrichtung unter Verwendung von Python ohne PIL einschließlich der Miniaturansicht

8

Ich habe folgendes Szenario:

  • Ich sende ein Bild vom iPhone zusammen mit den EXIF ​​Informationen an meinen Pyhon Socket Server.
  • Ich muss das Bild basierend auf der tatsächlichen Ausrichtung, wenn das Bild aufgenommen wurde, richtig ausrichten. Ich weiß, IOS speichert das Bild immer als Landscape Left und fügt die tatsächliche Ausrichtung als EXIF-Feld hinzu (EXIF.Image.Orientation).
  • Ich lese das EXIF-Feld, um die tatsächliche Ausrichtung zu sehen. Dann rotiere ich das Bild mit wxpython in die richtige Richtung.

Ich verwende pyexiv2 für die EXIF-Manipulation.

Problem: Die EXIF-Informationen einschließlich der Miniaturansichten gehen verloren, während das Bild mit wxpython gedreht wird.

Was ich gemacht habe: Ich lese den EXIF ​​vor dem Drehen des Bildes. Ich setze das Orientierungsfeld im EXIF ​​zurück. Dann lege ich es nach der Rotation zurück.

Das Problem:

Das Vorschaubild im EXIF ​​wird nicht gedreht. Das Bild und das Thumbnail haben unterschiedliche Orientierungen.

Fragen?

Gibt es ein anderes Modul als PIL, um ein Bild unter Beibehaltung seiner EXIF-Informationen zu drehen?

Gibt es ein separates EXIF-Feld für die Thumbnail-Ausrichtung?

Gibt es eine Möglichkeit, das Thumbnail alleine zu drehen?

Danke für Ihre Hilfe ...

    
ATOzTOA 14.12.2012, 03:43
quelle

3 Antworten

2

Ich habe eine Lösung gefunden ... schaut euch das an ... Ссылка

%Vor%     
ATOzTOA 15.12.2012, 15:02
quelle
24

Diese Lösung funktioniert für mich: PIL-Miniaturbild dreht mein Bild?

Muss nicht überprüfen, ob es iPhone oder iPad ist: Wenn das Foto einen Orientierungstag hat - drehen Sie es.

%Vor%

Vorher:

Nach:

    
scabbiaza 14.11.2014 10:42
quelle
0

Ссылка

Dieser Blogeintrag erklärt es deutlich. Stellen Sie sicher, dass Sie versuchen, den @receiver.. -Code in forms.py oder models.py zu behalten, da ich cannot import model/view errors bekommen habe.

Behalte die Methode rotate_image in models.py & amp;   @receiver.. code auch in models.py .

Ich habe auch Fehler wie Kein solches Verzeichnis. Stellen Sie nur sicher, dass full_path korrekt auf den Medienordner eingestellt ist.

Ich habe diese Zeile verwendet

fullpath = os.path.join(os.path.dirname(BASE_DIR)) + instance.fimage.url

    
Joel Varma 06.02.2018 07:16
quelle

Tags und Links