python根据exif信息旋转图片

这几天在写业务代码有个需求:压缩图片。本来是很简单需求,三下五除二就写好了,但是在自己用手机上传图片的时候发现压缩后的图片都歪了,查了一下,原因是图片中的exif信息中的Orientation记录中图片的旋转角度。需要根据这个来旋转图片。

首先读取图片的exif信息:

from PIL import Image
img = Image.open('1.jpg')
# 先判断图片是否有exif信息
if hasattr(img, '_getexif'):
    # 获取exif信息
    dict_exif = img._getexif()
    if dict_exif(274, 0) == 3:
        # 旋转
        new_img = img.rotate(-90)
    elif dict_exif(274, 0) == 6:
        # 旋转
        new_img = img.rotate(180)
    else:
        new_img = img
else:
    new_img = img
new_img.save('new_1.jpg', )
  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值