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脚本实现分析dns日志并对受访域名排行
Sep 18 Python
python中实现php的var_dump函数功能
Jan 21 Python
Python去除列表中重复元素的方法
Mar 20 Python
深入理解python中函数传递参数是值传递还是引用传递
Nov 07 Python
利用python库在局域网内传输文件的方法
Jun 04 Python
python 搜索大文件的实例代码
Jul 08 Python
python threading和multiprocessing模块基本用法实例分析
Jul 25 Python
python实现异常信息堆栈输出到日志文件
Dec 26 Python
python 非线性规划方式(scipy.optimize.minimize)
Feb 11 Python
解决python-docx打包之后找不到default.docx的问题
Feb 13 Python
浅析python 动态库m.so.1.0错误问题
May 09 Python
python输出结果刷新及进度条的实现操作
Jul 13 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
php定界符
2014/06/19 PHP
PHP实现的memcache环形队列类实例
2015/07/28 PHP
Linux系统下使用XHProf和XHGui分析PHP运行性能
2015/12/08 PHP
[原创]CI(CodeIgniter)简单统计访问人数实现方法
2016/01/19 PHP
微信支付开发动态链接Native支付
2016/07/12 PHP
javascript自动给文本url地址增加链接的方法分享
2014/01/20 Javascript
js实现文本框中焦点在最后位置
2014/03/04 Javascript
jQuery中document与window以及load与ready 区别详解
2014/12/29 Javascript
JavaScript中停止执行setInterval和setTimeout事件的方法
2015/05/14 Javascript
浅谈JS中json数据的处理
2016/06/30 Javascript
javascript鼠标跟随运动3种效果(眼球效果,苹果菜单,方向跟随)
2016/10/27 Javascript
BootStrap实现响应式布局导航栏折叠隐藏效果(在小屏幕、手机屏幕浏览时自动折叠隐藏)
2016/11/30 Javascript
js前端实现图片懒加载(lazyload)的两种方式
2017/04/24 Javascript
慕课网题目之js实现抽奖系统功能
2017/09/19 Javascript
Nodejs Express 通过log4js写日志到Logstash(ELK)
2018/08/30 NodeJs
JS拖动选择table里的单元格完整实例【基于jQuery】
2019/05/28 jQuery
基于Express框架使用POST传递Form数据
2019/08/10 Javascript
vue获取data数据改变前后的值方法
2019/11/07 Javascript
[26:52]LGD vs EG 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/18 DOTA
动感网页相册 python编写简单文件夹内图片浏览工具
2016/08/17 Python
Python爬取十篇新闻统计TF-IDF
2018/01/03 Python
django中send_mail功能实现详解
2018/02/06 Python
Python 通过打码平台实现验证码的实现
2019/05/13 Python
Django stark组件使用及原理详解
2019/08/22 Python
Python中 CSV格式清洗与转换的实例代码
2019/08/29 Python
Python编写打字训练小程序
2019/09/26 Python
女士鞋子、包包和服装在线,第一款10美元:ShoeDazzle
2019/07/26 全球购物
伦敦香水公司:The London Perfume Company
2019/11/13 全球购物
初中生三年学习生活的自我评价
2013/11/03 职场文书
行政前台岗位职责
2013/12/04 职场文书
节约用水标语
2014/06/11 职场文书
我们的节日元宵活动方案
2014/08/23 职场文书
党支部班子“四风”问题自我剖析材料
2014/09/28 职场文书
党员查摆问题及整改措施
2014/10/10 职场文书
写好Python代码的几条重要技巧
2021/05/21 Python
python 爬取天气网卫星图片
2021/06/07 Python