Spaces:
Runtime error
Runtime error
| 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) | |