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 相关文章推荐
2款Python内存检测工具介绍和使用方法
Jun 01 Python
Python常用正则表达式符号浅析
Aug 13 Python
Python random模块常用方法
Nov 03 Python
Python 3.x 连接数据库示例(pymysql 方式)
Jan 19 Python
Django中日期处理注意事项与自定义时间格式转换详解
Aug 06 Python
flask框架自定义url转换器操作详解
Jan 25 Python
Windows上安装tensorflow  详细教程(图文详解)
Feb 04 Python
Django 实现将图片转为Base64,然后使用json传输
Mar 27 Python
解决Python spyder显示不全df列和行的问题
Apr 20 Python
Keras SGD 随机梯度下降优化器参数设置方式
Jun 19 Python
Python离线安装各种库及pip的方法
Nov 28 Python
python Protobuf定义消息类型知识点讲解
Mar 02 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实现密保卡功能实现代码<打包下载直接运行>
2011/10/09 PHP
php加水印的代码(支持半透明透明打水印,支持png透明背景)
2013/01/17 PHP
php函数array_merge用法一例(合并同类数组)
2013/02/03 PHP
PHP判断字符串长度的两种方法很实用
2015/09/22 PHP
thinkphp微信开之安全模式消息加密解密不成功的解决办法
2015/12/02 PHP
python进程与线程小结实例分析
2018/11/11 PHP
Laravel框架实现超简单的分页效果示例
2019/02/08 PHP
laravel 获取某个查询的查询SQL语句方法
2019/10/12 PHP
博客侧边栏模块跟随滚动条滑动固定效果的实现方法(js+jquery等)
2013/03/24 Javascript
jQuery对html元素取值与赋值的方法
2013/11/20 Javascript
javascript页面上使用动态时间具体实现
2014/03/18 Javascript
Jquery validation remote 验证的缓存问题解决方法
2014/03/25 Javascript
字符串反转_JavaScript
2016/04/28 Javascript
AngularJS入门(用ng-repeat指令实现循环输出
2016/05/05 Javascript
JS中如何实现Laravel的route函数详解
2017/02/12 Javascript
JS实现图片放大缩小的方法
2017/02/15 Javascript
Node.js 实现简单的接口服务器的实例代码
2017/05/23 Javascript
JS实现的数组去除重复数据算法小结
2017/11/17 Javascript
详解webpack与SPA实践之开发环境搭建
2017/12/18 Javascript
angularjs中判断ng-repeat是否迭代完的实例
2018/09/12 Javascript
Vue实现的父组件向子组件传值功能示例
2019/01/19 Javascript
JavaScript的垃圾回收机制与内存管理
2020/08/06 Javascript
python如何求解两数的最大公约数
2018/09/27 Python
python selenium 弹出框处理的实现
2019/02/26 Python
Python作用域与名字空间原理详解
2020/03/21 Python
tensorflow使用freeze_graph.py将ckpt转为pb文件的方法
2020/04/22 Python
django使用多个数据库的方法实例
2021/03/04 Python
浅谈html5 video 移动端填坑记
2018/01/15 HTML / CSS
俄罗斯和世界各地的酒店预订:Hotels.com俄罗斯
2016/08/19 全球购物
意大利简约的休闲品牌:Aspesi
2018/02/08 全球购物
澳大利亚购买最佳炊具品牌网站:Cookware Brands
2019/02/16 全球购物
英国豪华家具和家居用品购物网站:Teddy Beau
2020/10/12 全球购物
高二化学教学反思
2014/01/30 职场文书
多媒体专业自我鉴定
2014/02/28 职场文书
领导干部考核评语
2015/01/04 职场文书
九大龙王魂骨,山龙王留下躯干骨,榜首死的最憋屈(被捏碎)
2022/03/18 国漫