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中实现的RC4算法
Feb 14 Python
Python实现改变与矩形橡胶的线条的颜色代码示例
Jan 05 Python
获取python文件扩展名和文件名方法
Feb 02 Python
django传值给模板, 再用JS接收并进行操作的实例
May 28 Python
python实现音乐下载的统计
Jun 20 Python
用Python实现筛选文件脚本的方法
Oct 27 Python
Python实现EXCEL表格的排序功能示例
Jun 25 Python
python聚类算法解决方案(rest接口/mpp数据库/json数据/下载图片及数据)
Aug 28 Python
python numpy之np.random的随机数函数使用介绍
Oct 06 Python
python selenium 执行完毕关闭chromedriver进程示例
Nov 15 Python
Python使用matplotlib绘制Logistic曲线操作示例
Nov 28 Python
在python中利用try..except来代替if..else的用法
Dec 19 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
Sony CFR 320 修复改造
2020/03/14 无线电
PHP语法速查表
2006/12/06 PHP
php 404错误页面实现代码
2009/06/22 PHP
php中用foreach来操作数组的代码
2011/07/17 PHP
PHP逐行输出(ob_flush与flush的组合)
2012/02/04 PHP
关于查看MSSQL 数据库 用户每个表 占用的空间大小
2013/06/21 PHP
php简单统计字符串单词数量的方法
2015/06/19 PHP
jquery ajax return没有返回值的解决方法
2011/10/20 Javascript
说说JSON和JSONP 也许你会豁然开朗
2012/09/02 Javascript
js关闭父窗口时关闭子窗口
2013/04/01 Javascript
按钮接受回车事件的三种实现方法
2014/06/06 Javascript
jquery实现将获取的颜色值转换为十六进制形式的方法
2014/12/20 Javascript
javaScript的函数对象的声明详解
2015/02/06 Javascript
JS实现的5级联动Select下拉选择框实例
2015/08/17 Javascript
Bootstrap学习系列之使用 Bootstrap Typeahead 组件实现百度下拉效果
2016/07/07 Javascript
JS敏感词过滤代码
2016/12/23 Javascript
JavaScript html5利用FileReader实现上传功能
2020/03/27 Javascript
详解AngularJS ui-sref的简单使用
2017/04/24 Javascript
详解Angular2中Input和Output用法及示例
2017/05/21 Javascript
python实现查找两个字符串中相同字符并输出的方法
2015/07/11 Python
python绘制热力图heatmap
2020/03/23 Python
python实现截取屏幕保存文件,删除N天前截图的例子
2019/08/27 Python
python3 tcp的粘包现象和解决办法解析
2019/12/09 Python
python如何使用socketserver模块实现并发聊天
2019/12/14 Python
Python爬取微信小程序通用方法代码实例详解
2020/09/29 Python
python利用appium实现手机APP自动化的示例
2021/01/26 Python
css3 clip实现圆环进度条的示例代码
2018/02/07 HTML / CSS
Guess美国官网:美国知名服装品牌
2019/04/08 全球购物
加州风格的游泳和沙滩装品牌:Cupshe
2019/06/10 全球购物
北京RT科技有限公司.net工程师面试题
2013/02/15 面试题
医院党员公开承诺书
2014/08/30 职场文书
财务年终工作总结大全
2019/06/20 职场文书
公务员的复习计划书,请收下!
2019/07/15 职场文书
社交电商模式的兴起:这些新的商机千万别错过
2019/07/26 职场文书
Python机器学习之基础概述
2021/05/19 Python
anaconda python3.8安装后降级
2021/06/11 Python