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使用scrapy解析js示例
Jan 23 Python
Python中使用wxPython开发的一个简易笔记本程序实例
Feb 08 Python
两个命令把 Vim 打造成 Python IDE的方法
Mar 20 Python
使用Python从有道词典网页获取单词翻译
Jul 03 Python
用python的requests第三方模块抓取王者荣耀所有英雄的皮肤实例
Dec 14 Python
python实现自动登录后台管理系统
Oct 18 Python
Python人脸识别第三方库face_recognition接口说明文档
May 03 Python
Python pip替换为阿里源的方法步骤
Jul 02 Python
python绘制雪景图
Dec 16 Python
Python加密模块的hashlib,hmac模块使用解析
Jan 02 Python
Python小白不正确的使用类变量实例
May 29 Python
Python with语句用法原理详解
Jul 03 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 和 MySQL 基础教程(二)
2006/10/09 PHP
简单的PHP图片上传程序
2008/03/27 PHP
PHP调用API接口实现天气查询功能的示例
2017/09/21 PHP
php+ajax实现仿百度查询下拉内容功能示例
2017/10/20 PHP
PHP程序员必须知道的两种日志实例分析
2020/05/14 PHP
JavaScript 学习 - 提高篇
2007/02/02 Javascript
限制文本字节数js代码
2007/03/06 Javascript
Jsonp 跨域的原理以及Jquery的解决方案
2010/05/18 Javascript
javascript实现回到顶部特效
2015/05/06 Javascript
javascript模拟C#格式化字符串
2015/08/26 Javascript
smartcrop.js智能图片裁剪库
2015/10/14 Javascript
js实现二级菜单渐隐显示
2015/11/03 Javascript
jQuery添加和删除输入文本框标签代码
2016/05/20 Javascript
Javascript中的神器——Promise
2017/02/08 Javascript
JavaScript中常见的八个陷阱总结
2017/06/28 Javascript
Vue.js与 ASP.NET Core 服务端渲染功能整合
2017/11/16 Javascript
解决vue同一slot在组件中渲染多次的问题
2018/09/06 Javascript
vue中如何去掉空格的方法实现
2018/11/09 Javascript
JS表单验证插件之数据与逻辑分离操作实例分析【策略模式】
2020/05/01 Javascript
[31:01]2014 DOTA2国际邀请赛中国区预选赛5.21 CNB VS Orenda
2014/05/23 DOTA
[53:10]完美世界DOTA2联赛决赛日 FTD vs GXR 第二场 11.08
2020/11/11 DOTA
解决python写入带有中文的字符到文件错误的问题
2019/01/31 Python
pip install 使用国内镜像的方法示例
2020/04/03 Python
Keras - GPU ID 和显存占用设定步骤
2020/06/22 Python
Python下使用Trackbar实现绘图板
2020/10/27 Python
Paul’s Boutique官网:英国时尚手袋品牌
2018/03/31 全球购物
 Alo Yoga官网:购买瑜伽服装
2018/06/17 全球购物
JD Sports比利时官网:英国领先的运动鞋和运动服饰零售商
2018/10/10 全球购物
美国最好的葡萄酒网上商店:Wine Library
2019/11/02 全球购物
解决python 输出到csv 出现多空行的情况
2021/03/24 Python
《闻一多先生的说和做》教学反思
2014/04/28 职场文书
学习朴航瑛老师爱岗敬业先进事迹思想汇报
2014/09/17 职场文书
2014年国庆节演讲稿精选范文1500字
2014/09/25 职场文书
个人总结格式范文
2015/03/09 职场文书
生活小常识广播稿
2015/08/19 职场文书
sql时间段切分实现每隔x分钟出一份高速门架车流量
2022/02/28 SQL Server