如何在不丢失JFIF头的情况下更新EXIF数据?
问题:修改EXIF实现图像旋转后丢失JFIF头
我用以下Python代码通过更新EXIF头将JPG图像旋转180度,以此避免重新编码图像:
import PIL import piexif filename = "somefile.jpg" img = PIL.Image.open(filename) exif_dict = piexif.load(img.info['exif']) exif_dict["0th"][274] = 3 #180 deg rotate exif_bytes = piexif.dump(exif_dict) piexif.insert(exif_bytes, filename)
代码看似有效——Windows能正常打开图像,且图像确实按要求完成了180度旋转,但核心问题是JFIF头丢失了,前后对比情况如下:
| 操作前 | 操作后 |
|---|---|
![]() | ![]() |
内容的提问来源于stack exchange,提问作者tigrou
相关产品推荐
相关产品推荐



