python 读取图像发生自动旋转的原因
手机或者相机拍摄照片后,传到电脑中,使用PIL读取时有时会发生旋转:
查看两类图像的具体属性,发现仅有EXIF值有差异
通过查阅资料发现:EXIF代表了图像的方位信息,包含旋转0°、90°、180°和270°;
在读取这些图像时读取到的为原始数据,并未判断EXIF值,可能导致发生异常旋转,对于这种情况利用可以利用PIL读取exif中的orientation信息,然后根据这个信息将图片转正后,再进行后续操作,具体如下:在这里插入代码片
try:for orientation in ExifTags.TAGS.keys():if ExifTags.TAGS[orientation] == 'Orientation': breakexif = dict(im._getexif().items())if exif[orientation] == 3:im = im.rotate(180, expand=True)elif exif[orientation] == 6:im = im.rotate(270, expand=True)elif exif[orientation] == 8:im = im.rotate(90, expand=True)except:pass
rotate中的“expand = True”是将图片尺寸也进行相应的变换。如果不加这句,则size不变。
即可解决翻转问题
python 读取图像发生自动旋转的原因相关推荐
- 图像处理基础 || (一) python 读取图像的常用方式
python 读取图像的常用方式 图像的读取与保存是图像处理或计算机视觉领域中最基本的操作,python中有众多的库支持图像的读取.显示与存储,常用的库包括 matplotlib.skimage 和 ...
- python读取图像的几种方式
python读取图像的几种方式 本文介绍几种基于python的图像读取方式: 基于PIL库的图像读取.保存和显示 基于opencv-python的图像读取.保存和显示 基于matplotlib的图像读 ...
- python读取图像的exif信息
python读取图像的exif信息 python 读取图像的exif信息 import exifread PIL函数实现 python 读取图像的exif信息 前几天用PYQT做了一个工具,打开图片发 ...
- vs下载python最后一点很慢-python读取大文件越来越慢的原因与解决
背景: 今天同事写代码,用python读取一个四五百兆的文件,然后做一串逻辑上很直观的处理.结果处理了一天还没有出来结果.问题出在哪里呢? 解决: 1. 同事打印了在不同时间点的时间,在需要的地方插入 ...
- python读取图像数据流_【NUKE教程】Nuke Python 获取图像数据
通过python有两种方式读取图像的像素数据: 创建分析图像的节点(比如,MinColor, CurveTool),执行,然后读取其结果的knob数值 sample方法可以直接抽样节点的像素. 使用C ...
- python读取图像数据流_浅谈TensorFlow中读取图像数据的三种方式
本文面对三种常常遇到的情况,总结三种读取数据的方式,分别用于处理单张图片.大量图片,和TFRecorder读取方式.并且还补充了功能相近的tf函数. 1.处理单张图片 我们训练完模型之后,常常要用图片 ...
- python读取图像并相加_python给图像加上mask,并提取mask区域实例
python对图像提取mask部分: 代码: #coding:utf-8 import os import cv2 import numpy as np def add_mask2image_bina ...
- python读取图像的几种方法
方法一:利用PIL中的Image函数,这个函数读取出来不是array格式 这时候需要用 np.asarray(im) 或者np.array()函数 区别是 np.array() 是深拷贝,np.asa ...
- python读取图像的方法总结
以读取下面的图片为例:(其中前两种方法是我自己常用的方法) 1. 利用python图像处理类库PIL(Python Imaging Library)中的Image函数. import numpy as ...
最新文章
- COOKIE和SESSION关系和区别
- 深入基础(一)模块化
- Android 点击应用外的Url拉起应用
- proxy connect abort处理方法_Java代理设计模式(Proxy)的几种具体实现
- UVA 11426 GCD-Extreme(II) ★ (欧拉函数)
- 配置maven环境变量cmd控制台提示:mvn不是内部或外部命令,也不是可运行的程序或批处理文件...
- 工业互联网白皮书_发布|《工业互联网平台安全白皮书(2020)》发布
- 关于QueryRunner数据查询以及常用方法
- 软考信息安全工程师考试历年真题汇总及试题分布统计
- python中head_Python(Head First)学习笔记:二
- 万字详解自动驾驶定位技术
- 计算机机房岗位管理制度,机房管理规定-机房管理制度.doc
- Java项目集成工作流引擎解决方案及实例展示(前后分离版)
- 光纤跳线接口_如何为SFP光模块搭配对应的光纤跳线?
- Martin Fowler微服务论文--译文
- QueryDSL 自定义返回结果集类型
- Win10下用SCP命令免密码上传、下载阿里云服务器上的文件
- Mysql中的七种常用查询连接详解
- WPS word表格中的神秘的底色
- php简单的商城系统,DouPHP轻量级商城管理系统
热门文章
- 史上最全桥梁主动防撞预警系统通航净高系统实施方案,花30分钟让您秒变专家
- Linux系统清理缓存方法
- 【嘉立创EDA】复合焊盘的引线居中对齐,typc接口引线对齐方法
- 一睹为快!阿里内部绝密爆款设计模式进阶宝典到底有何魅力?
- 网页看板娘 js版(论坛娘、博客娘。总之就是梦娘 V (-1) 代码
- MyEclipse网站服务器,myeclipse配置web服务器
- Java 可变参数基本使用
- slam十四讲ch4
- 听Sensoro讲iBeacon如何定位
- c# python_从C#到Python —— 谈谈我学习Python一周来的体会