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 break语句详解
Mar 11 Python
在IIS服务器上以CGI方式运行Python脚本的教程
Apr 25 Python
python获取本机mac地址和ip地址的方法
Apr 29 Python
Python urls.py的三种配置写法实例详解
Apr 28 Python
使用matlab或python将txt文件转为excel表格
Nov 01 Python
python实现翻译word表格小程序
Feb 27 Python
python为什么会环境变量设置不成功
Jun 23 Python
MATLAB数学建模之画图汇总
Jul 16 Python
python一些性能分析的技巧
Aug 30 Python
python 多进程和协程配合使用写入数据
Oct 30 Python
python APScheduler执行定时任务介绍
Apr 19 Python
在 Python 中利用 Pool 进行多线程
Apr 24 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
基于mysql的论坛(1)
2006/10/09 PHP
php print EOF实现方法
2009/05/21 PHP
php下关于中英数字混排的字符串分割问题
2010/04/06 PHP
php实现12306火车票余票查询和价格查询(12306火车票查询)
2014/01/14 PHP
PHP读取txt文本文件并分页显示的方法
2015/03/11 PHP
jQuery中文入门指南,翻译加实例,jQuery的起点教程
2007/01/13 Javascript
通过javascript设置css属性的代码
2009/12/28 Javascript
本地对象Array的原型扩展实现代码
2010/12/04 Javascript
JavaScript 函数参数是传值(byVal)还是传址(byRef) 分享
2013/07/02 Javascript
checkbox全选所涉及到的知识点介绍
2013/12/31 Javascript
js图片自动轮播代码分享(js图片轮播)
2014/05/06 Javascript
JavaScript中的立即执行函数表达式介绍
2015/03/15 Javascript
js实现的简单radio背景颜色选择器代码
2015/08/18 Javascript
JS中多种方式创建对象详解
2016/03/22 Javascript
Vue2 SSR渲染根据不同页面修改 meta
2017/11/20 Javascript
用ES6的class模仿Vue写一个双向绑定的示例代码
2018/04/20 Javascript
Vue前端开发规范整理(推荐)
2018/04/23 Javascript
jQuery内容过滤选择器与子元素过滤选择器用法实例分析
2019/02/20 jQuery
vue学习笔记五:在vue项目里面使用引入公共方法详解
2019/04/04 Javascript
electron-vue利用webpack打包实现多页面的入口文件问题
2019/05/12 Javascript
vue elementui el-form rules动态验证的实例代码详解
2019/05/23 Javascript
[15:35]教你分分钟做大人:天怒法师
2014/10/30 DOTA
Python操作json数据的一个简单例子
2014/04/17 Python
pygame实现打字游戏
2021/02/19 Python
python将数据插入数据库的代码分享
2020/08/16 Python
Pycharm操作Git及GitHub的步骤详解
2020/10/27 Python
HTML5移动开发图片压缩上传功能
2016/11/09 HTML / CSS
让ie浏览器成为支持html5的浏览器的解决方法(使用html5shiv)
2014/04/08 HTML / CSS
浅析HTML5:'data-'属性的作用
2018/01/23 HTML / CSS
施华洛世奇意大利官网:SWAROVSKI意大利
2018/07/23 全球购物
2014庆六一活动方案
2014/03/02 职场文书
贸易跟单员英文求职信
2014/04/19 职场文书
优秀班主任主要事迹材料
2014/12/16 职场文书
2016春季田径运动会广播稿
2015/12/21 职场文书
OpenCV绘制圆端矩形的示例代码
2021/08/30 Python
mysql 8.0.27 绿色解压版安装教程及配置方法
2022/04/20 MySQL