diff --git a/utils/datasets.py b/utils/datasets.py index cda69e3..3997a5d 100755 --- a/utils/datasets.py +++ b/utils/datasets.py @@ -22,7 +22,7 @@ import numpy as np import torch import torch.nn.functional as F import yaml -from PIL import Image, ExifTags +from PIL import Image, ImageOps, ExifTags from torch.utils.data import Dataset from tqdm import tqdm @@ -69,7 +69,7 @@ def exif_size(img): def exif_transpose(image): """ Transpose a PIL image accordingly if it has an EXIF Orientation tag. - From https://github.com/python-pillow/Pillow/blob/master/src/PIL/ImageOps.py + Inplace version of https://github.com/python-pillow/Pillow/blob/master/src/PIL/ImageOps.py exif_transpose() :param image: The image to transpose. :return: An image. @@ -896,7 +896,7 @@ def verify_image_label(args): with open(im_file, 'rb') as f: f.seek(-2, 2) if f.read() != b'\xff\xd9': # corrupt JPEG - Image.open(im_file).save(im_file, format='JPEG', subsampling=0, quality=100) # re-save image + ImageOps.exif_transpose(Image.open(im_file)).save(im_file, 'JPEG', subsampling=0, quality=100) msg = f'{prefix}WARNING: {im_file}: corrupt JPEG restored and saved' # verify labels