Wenn ich in Python mache, dreht es manchmal die Breite und Höhe des Bildes. Nach einigen Nachforschungen (siehe diese post Erklärung), scheint es, dass, wenn das Bild Exif Orientation metadata
zugeordnet ist, dann wird dies dazu führen, dass Anwendungen, die diese Eigenschaft zu respektieren, um es zu drehen.Manuelles Festlegen der Exif-Eigenschaft und Beibehalten der ursprünglichen Breite und Höhe des Bildes in Python
Also zuerst mein Bild der Exif-Eigenschaft Ich teste von
identify -verbose image.JPG | grep Orientation
tun Es gibt , was bedeutet, dass das Bild die Eigenschaft hat, und wird daher leicht geschlagen werden. Wenn die Antwort ist, dann hat das Bild nicht Exif Orientation metadata
und ist daher nicht umgedreht. Da ich das Bild nicht spiegeln möchte, habe ich versucht, die Exif property
manuell einzustellen, indem ich einen Vorschlag von diesem post nehme.
Also habe ich versucht, orientation.exif.primary.Orientation[0] = 1
manuell in meinem Code. Wie folgt aus:
from PIL import Image
import pexif
orientation = pexif.JpegFile.fromFile('image.JPG')
print("BEFORE:")
print(orientation.exif.primary.Orientation[0])
orientation.exif.primary.Orientation[0] = 1
print("AFTER:")
print(orientation.exif.primary.Orientation[0])
img = Image.open('image.JPG')
print(img.size)
Dies korrigiert druckt nach NACH jedoch ist es nicht eigentlich auf 1 im wirklichen Leben gesetzt, denn wenn ich identify -verbose image.JPG | grep Orientation
wieder laufen, ist es immer noch zeigt. Wie komme ich eigentlich um dieses Problem herum und habe nicht die Breite und Höhe des Bildes umgedreht?