Python 图片处理库exifread详解


Posted in Python onFebruary 25, 2021

【导语】:用 python 怎样获得图片的GPS信息?今天推荐一下 exifread 这个神奇的库,不仅仅是 GPS 信息,几乎能能获得图片的所有信息,快进来看看!!

要怎样获得拍摄图片的GPS呢?这里我们需要exifread 库,这个就是用来提取 GPS 信息的。直接 pip install exifread 来安装就好了。

其实不仅能获得GPS信息,图片的几乎所有信息都能获得。exifread的作用其实是代替了查看图片属性!如下图:

Python 图片处理库exifread详解

这里用在三亚拍的骆驼照片来做个演示,看看能不能定位到三亚。

注:如果图片被压缩了的话会破坏里面的二进制信息,肯定就不能提取了哦!

Python 图片处理库exifread详解

原理是: 先把图片以二进制的格式读取出来,然后通过 exifread 库把里面的 GPS 信息提取出来,再以特定的格式打印出来,最后直接复制里面的经纬度信息,在支持通过经纬度来查位置的地图里一查就能定位到了。

exifread库读取图片的二进制示例:

Python 图片处理库exifread详解

具体代码如下

import exifread
import re

# 读取图片为二进制格式
f = open("luotuo.JPG","rb")
tags = exifread.process_file(f)

# GPS信息
GPS = {}

# 拍摄时间
Data = ""

for tag,value in tags.items():
 # 获取纬度信息
 if re.match('GPS GPSLatitude', tag):
  try:
   match_result=re.match('\[(\w*), (\w*), (\w.*)/(\w.*)\]', str(value)).groups()
   GPS['纬度'] = str(int(match_result[0])) + " " + str(int(match_result[1])) + " " + str(int(match_result[2])/int(match_result[3]))
  except:
   GPS['纬度'] = str(value)
 # 获取纬度信息
 elif re.match('GPS GPSLongitude', tag):
  try:
   match_result=re.match('\[(\w*), (\w*), (\w.*)/(\w.*)\]',str(value)).groups()
   GPS['经度'] = str(int(match_result[0])) + " " + str(int(match_result[1])) + " " + str(int(match_result[2])/int(match_result[3]))
  except:
   GPS['经度'] = str(value)
 # 获取高度
 elif re.match('GPS GPSAltitude', tag):
  GPS['高度'] = str(value)
 # 获取拍摄时间
 elif re.match('Image DateTime', tag):
  Data = str(value)

# 打印信息
print("纬 经 度:" + GPS['纬度'] + "," + GPS['经度'])
print("拍摄时间:" + Data)

如图所示,读取后的纬经度信息直接就显示出来了

Python 图片处理库exifread详解

拓展1: 后期我们可以通过百度提供的 API 接口直接把经纬度转换为具体的地点。大家可以自己来尝试一下!

拓展2: 当然,你右键图片属性的详细信息里也有这些信息。

如果想保密的话,直接点击删除属性和个人信息就能能把信息删掉。

Python 图片处理库exifread详解

到此这篇关于Python 图片处理库exifread详解的文章就介绍到这了,更多相关Python 图片处理库exifread内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
python下如何让web元素的生成更简单的分析
Jul 17 Python
python使用paramiko实现远程拷贝文件的方法
Apr 18 Python
python万年历实现代码 含运行结果
May 20 Python
详谈python read readline readlines的区别
Sep 22 Python
基于Python中求和函数sum的用法详解
Jun 28 Python
Python基于分析Ajax请求实现抓取今日头条街拍图集功能示例
Jul 19 Python
对Python信号处理模块signal详解
Jan 09 Python
PyQt打开保存对话框的方法和使用详解
Feb 27 Python
Python面向对象程序设计构造函数和析构函数用法分析
Apr 12 Python
Python3实现二叉树的最大深度
Sep 30 Python
十个Python自动化常用操作,即拿即用
May 10 Python
Python jiaba库的使用详解
Nov 23 Python
python中if嵌套命令实例讲解
Feb 25 #Python
Matplotlib animation模块实现动态图
Feb 25 #Python
python连接手机自动搜集蚂蚁森林能量的实现代码
Feb 24 #Python
Python爬取你好李焕英豆瓣短评生成词云的示例代码
Feb 24 #Python
用pip给python安装matplotlib库的详细教程
Feb 24 #Python
matplotlib 范围选区(SpanSelector)的使用
Feb 24 #Python
matplotlib之多边形选区(PolygonSelector)的使用
Feb 24 #Python
You might like
shopex中集成的站长统计功能的代码简单分析
2011/08/11 PHP
Zend studio文件注释模板设置方法
2013/09/29 PHP
php修改指定文件后缀的方法
2014/09/11 PHP
PHP的Yii框架中Model模型的学习教程
2016/03/29 PHP
javascript 禁止复制网页
2009/06/11 Javascript
jquery表格内容筛选实现思路及代码
2013/04/16 Javascript
jquery实现全选、反选、获得所有选中的checkbox
2020/09/13 Javascript
jQuery轻松实现表格的隔行变色和点击行变色的实例代码
2016/05/09 Javascript
javascript实现圣旨卷轴展开效果(代码分享)
2017/03/23 Javascript
Angular2自定义分页组件
2017/04/19 Javascript
学习使用Bootstrap输入框、导航、分页等常用组件
2017/05/11 Javascript
JavaScript函数中的this四种绑定形式
2017/08/15 Javascript
JS实现定时任务每隔N秒请求后台setInterval定时和ajax请求问题
2017/10/15 Javascript
基于JavaScript实现报警器提示音效果
2017/10/27 Javascript
three.js加载obj模型的实例代码
2017/11/10 Javascript
纯JS实现的读取excel文件内容功能示例【支持所有浏览器】
2018/06/23 Javascript
React如何解决fetch跨域请求时session失效问题
2018/11/02 Javascript
浅析vue 函数配置项watch及函数 $watch 源码分享
2018/11/22 Javascript
node.js文件的复制、创建文件夹等相关操作
2021/02/05 Javascript
[40:10]2015国际邀请赛全明星表演赛
2015/08/07 DOTA
python实现保存网页到本地示例
2014/03/16 Python
Python爬虫实例_利用百度地图API批量获取城市所有的POI点
2018/01/10 Python
对python中的pop函数和append函数详解
2018/05/04 Python
浅析Python装饰器以及装饰器模式
2018/05/28 Python
python读取excel指定列数据并写入到新的excel方法
2018/07/10 Python
Python文件操作中进行字符串替换的方法(保存到新文件/当前文件)
2019/06/28 Python
Django模板语言 Tags使用详解
2019/09/09 Python
美国网上鞋子零售商:Dr. Scholl’s Shoes
2017/11/17 全球购物
美国豪华时尚女性精品店:Kirna Zabête
2018/01/11 全球购物
门卫班长岗位职责
2013/12/15 职场文书
经贸日语专业个人求职信范文
2013/12/28 职场文书
专业求职信撰写要诀
2014/02/18 职场文书
幼儿园大班评语大全
2014/04/17 职场文书
python中requests库+xpath+lxml简单使用
2021/04/29 Python
python flask框架快速入门
2021/05/14 Python
解决mysql问题:由于找不到MSVCR120.dll,无法继续执行代码
2021/06/26 MySQL