Fix for corrupt JPEGs auto-fix PR (#4560)

Auto-fix corrupt JPEGs PR introduced a bug whereby the f.seek() operation read all of the bytes in the image, resulting in the PIL image having nothing to read upon the .save() operation. 

Fix was to re-open the image using PIL before saving.
This commit is contained in:
Glenn Jocher authored and GitHub committed 2021-08-27 13:01:21 +02:00
1 parent 11f85e7e71
commit e899d6e8fb
1 file changed
+1 -1
+1 -1
View File
@@ -873,7 +873,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
im.save(im_file, format='JPEG', subsampling=0, quality=100) # re-save image
Image.open(im_file).save(im_file, format='JPEG', subsampling=0, quality=100) # re-save image
msg = f'{prefix}WARNING: corrupt JPEG restored and saved {im_file}'
# verify labels