test-space / backend.py
hipples's picture
Upload backend.py
308acd7
raw
history blame contribute delete
865 Bytes
from PIL import Image, ExifTags
def check_image_rotation(image_path):
try:
image = Image.open(image_path)
for orientation in ExifTags.TAGS.keys():
if ExifTags.TAGS[orientation] == 'Orientation':
break
exif = image._getexif()
if exif is not None:
if orientation in exif:
if exif[orientation] == 3:
image = image.rotate(180, expand=True)
elif exif[orientation] == 6:
image = image.rotate(270, expand=True)
elif exif[orientation] == 8:
image = image.rotate(90, expand=True)
return image
except (AttributeError, KeyError, IndexError):
# If the orientation tag is not found or any other error occurs, return the original image
return Image.open(image_path)