PIL(pillow)读取图片自动旋转的问题

最近在处理一批手机拍摄的图片,使用pillow的读取的时候发现图像是旋转的,导致和标注框对不上,训练模型直接崩了。

查找资料发现大多数的图像查看软件都是会根据图像的exif信息自动旋转图片的,所以在mac上打开是正的,pillow读取的却是原图像。

方法1:改用opencv读取:

import cv2
from PIL import Imagesrc = "xxx.jpg"
tgt = "xxx-new.jpg"a = Image.open(src)
print(a.size)b = cv2.imread(src)
cv2.imwrite(tgt, b)a = Image.open(tgt)
print(a.size)

输出:

(3264, 1468)
(1468, 3264)

方法2:用ImageOps.exif_transpose()纠正

import cv2
from PIL import Image, ImageOps
src = "xxx.jpg"
a = Image.open(src)
print(a.size)
a = ImageOps.exif_transpose(a)
print(a.size)

输出:

(3264, 1468)
(1468, 3264)

参考:
https://stackoverflow.com/questions/4228530/pil-thumbnail-is-rotating-my-image

PIL(pillow)读取图片自动旋转的问题相关推荐

  1. php orientation生成图片,图片自动旋转的前端实现方案

    随着智能手机的普及,大家已经习惯随手拍点照片传网上了.有时候传上去的照片方向会不对,甚至还有脑袋朝下的情况.为此,各大微博不约而同的给照片增加左右旋转的功能.这样能解决问题,但我们是否能更进一步,自动 ...

  2. 纯css 图片自动旋转动画

    css能否实现图片自动旋转动画呢?答案当然是肯定的, 首先看下效果: HTML代码 <img src="https://gimg2.baidu.com/image_search/src ...

  3. Python中用PIL/Pillow裁剪图片

    # pip install Pillow # 在img标签里面只设置宽,不设置高,图片就会等比例缩放. # coding=utf-8 from PIL import Image import Imag ...

  4. cv2 和 matplotlib.pyplot 和 PIL.Image 读取图片方式对比【Python读取图片】

    文章目录 import matplotlib.pyplot as plt 和 cv2 读取图像对比 PIL 和 cv2 读取图片对比 mxnet.image.imread 读取图片 PIL 和 tor ...

  5. 解决ios横屏拍照图片自动旋转90度问题

    解决ios横屏拍照图片自动旋转90度问题 参考文章: (1)解决ios横屏拍照图片自动旋转90度问题 (2)https://www.cnblogs.com/lanshengzhong/p/900856 ...

  6. iOS开发- 相机(摄像头)获取到的图片自动旋转90度解决办法

    http://www.tuicool.com/articles/IfEZre 今天写demo的时候发现, 如果把通过相机获取到的图片,直接进行操作, 比如裁剪, 缩放, 则会把原图片向又旋转90度. ...

  7. html 背景图片自动旋转,CSS3 菱形拼图实现只旋转div 背景图片不旋转功能

    需求背景 使用 vue 做的项目,业务需求有一个拼图效果,默认是深色的背景图,上面分五个区域,每次会亮一个区域,整张图都亮,拼图完成.先来看一下最终的效果图. 应用到的知识点: background- ...

  8. ios 图片逆时针旋转_iphone-IOS 竖直拍照被旋转,image-orientation 让图片自动旋转

    本文目录结构 IOS 垂直拍照的时候会遇到,PC 端读取的时候,逆时针旋转了 90 度的问题: 安卓.PS 处理的,相册选择截图等不会出现这个问题: 场景说明: 这个图片在浏览器里,如果您单独打开的时 ...

  9. html如何设置图片循环旋转动画效果,如何使用css3实现图片自动旋转的特效(完整代码)...

    在介绍如何使用css3实现旋转图片特效的基础上,重点介绍了具体的步骤.这篇论文内容紧凑,希望大家能有所收获. 在浏览网页的过程中,你会遇到一种特殊的效果,叫做图片旋转:不同的图片会根据时间的变化在同一 ...

  10. html让图片自动旋转360,html5 canvas 360图片旋转制作抽奖转盘代码

    特效描述:html5canvas 360图片旋转 抽奖转盘代码.60图片旋转制作抽奖转盘代码 代码结构 1. HTML代码 var colors = ["#B8D430", &qu ...

最新文章

  1. 笔记精选(返回点赞总数和挑选笔记数量)
  2. 如何搞垮一个技术大牛?
  3. hash tree算法
  4. PCANet --- 用于图像分类的深度学习基准
  5. GitHub上最受欢迎的Android开源项目TOP20
  6. 网易加速5G下视频技术应用,携手南京银行数字化转型
  7. zookeeper删除节点的权限_Zookeeper使用超级用户删除带权限的节点
  8. 手工sql注入常规总结
  9. MongoDB初探系列之二:认识MongoDB提供的一些经常使用工具
  10. mysql 1194_打开网页提示mysql发生错误,错误号1194,请问下该怎么解决? 爱问知识人...
  11. 【ESP8266】 ESP8266与LittleFS文件系统
  12. MATLAB实现混淆矩阵
  13. 009 极限的四则运算定理(加、减、乘、除)
  14. java mybatis多层collection嵌套查询
  15. [云计算学习3] Linux基础 : 使用chrony搭建时间服务器并让下游NTP同步时间
  16. 国产数据库OpenGauss--内存优化表(MOT)实践
  17. 计算机科学与技术 职教师资,2018级计算机科学与技术(职教师资)团支部开展“感恩慈母,温暖五月”主题活动...
  18. mysql 触发器 模板_MySQL 触发器例子(两张表同步增加和删除)
  19. 《孙子兵法战略运筹之始计篇》
  20. C语言学习笔记(十九)

热门文章

  1. 刚注册好领了营业执照的公司可以申请软件著作权登记证书么?
  2. 固高运动卡的使用 5 插补运动模式之-直线插补运动
  3. 育碧-彩虹六号如何绑定二次验证码/两步验证/身份验证?
  4. c51单片机汇编语言1秒延时,51单片机汇编延时程序算法详解
  5. 阿里云CDN是什么意思?
  6. ZOJ - 3939(日期规律)
  7. 大学生电脑装什么软件?我整理了 10 款 Windows 神器,个个都是宝藏级!
  8. RTK ST5113-53 3kN 220VAC
  9. Java String类型入门 String str= abc god 中国 java反转每个单词
  10. 欧拉函数、费马定理、欧拉定理