Python 图片处理库exifread详解

【导语】:用 python 怎样获得图片的GPS信息?今天推荐一下 exifread 这个神奇的库,不仅仅是 GPS 信息,几乎能能获得图片的所有信息,快进来看看!!

要怎样获得拍摄图片的GPS呢?这里我们需要exifread 库,这个就是用来提取 GPS 信息的。直接 pip install exifread 来安装就好了。

其实不仅能获得GPS信息,图片的几乎所有信息都能获得。exifread的作用其实是代替了查看图片属性!如下图:

这里用在三亚拍的骆驼照片来做个演示,看看能不能定位到三亚。

注:如果图片被压缩了的话会破坏里面的二进制信息,肯定就不能提取了哦!

原理是: 先把图片以二进制的格式读取出来,然后通过 exifread 库把里面的 GPS 信息提取出来,再以特定的格式打印出来,最后直接复制里面的经纬度信息,在支持通过经纬度来查位置的地图里一查就能定位到了。

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)

如图所示,读取后的纬经度信息直接就显示出来了

拓展1: 后期我们可以通过百度提供的 API 接口直接把经纬度转换为具体的地点。大家可以自己来尝试一下!

拓展2: 当然,你右键图片属性的详细信息里也有这些信息。

如果想保密的话,直接点击删除属性和个人信息就能能把信息删掉。

到此这篇关于Python 图片处理库exifread详解的文章就介绍到这了,更多相关Python 图片处理库exifread内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • python 通过exifread读取照片信息

    通过第三方库exifread读取照片信息. exifread官网:https://pypi.org/project/ExifRead/ 一.安装exifread pip install exifread 二.读取照片信息,以及根据经纬度通过百度地图API获取位置 import exifread import json import urllib.request # Open image file for reading (binary mode) f = open('001.jpg', 'rb'

  • Python图像处理库PIL的ImageDraw模块介绍详解

    ImageDraw模块提供了图像对象的简单2D绘制.用户可以使用这个模块创建新的图像,注释或润饰已存在图像,为web应用实时产生各种图形. PIL中一个更高级绘图库见The aggdraw Module 一.ImageDraw模块的概念 1.  Coordinates 绘图接口使用和PIL一样的坐标系统,即(0,0)为左上角. 2.  Colours 为了指定颜色,用户可以使用数字或者元组,对应用户使用函数Image.new或者Image.putpixel.对于模式为"1","

  • python通过exifread模块获得图片exif信息的方法

    本文实例讲述了python通过exifread模块获得图片exif信息的方法.分享给大家供大家参考.具体分析如下: python可通过exifread模块获得图片exif信息 exifread模块的下载地址:https://pypi.python.org/pypi/ExifRead 也可以通过pip进行安装:pip install exifread import exifread # Open image file for reading (binary mode) f = open(path_

  • Python Excel处理库openpyxl使用详解

    openpyxl是一个第三方库,可以处理xlsx格式的Excel文件.pip install openpyxl安装. 读取Excel文件 需要导入相关函数 from openpyxl import load_workbook # 默认可读写,若有需要可以指定write_only和read_only为True wb = load_workbook('pythontab.xlsx') 默认打开的文件为可读写,若有需要可以指定参数read_only为True. 获取工作表--Sheet # 获得所有s

  • Python数据可视化处理库PyEcharts柱状图,饼图,线性图,词云图常用实例详解

    python可以在处理各种数据时,如果可以将这些数据,利用图表将其可视化,这样在分析处理起来,将更加直观.清晰,以下是 利用 PyEcharts 常用图表的可视化Demo, 开发环境 python3 柱状图 基本柱状图 from pyecharts import Bar # 基本柱状图 bar = Bar("基本柱状图", "副标题") bar.use_theme('dark') # 暗黑色主题 bar.add('真实成本', # label ["1月&q

  • 详解python opencv、scikit-image和PIL图像处理库比较

    进行深度学习时,对图像进行预处理的过程是非常重要的,使用pytorch或者TensorFlow时需要对图像进行预处理以及展示来观看处理效果,因此对python中的图像处理框架进行图像的读取和基本变换的掌握是必要的,接下来python中几个基本的图像处理库进行纵向对比. 项目地址:https://github.com/Oldpan/Pytorch-Learn/tree/master/Image-Processing 比较的图像处理框架: PIL scikit-image opencv-python

  • Python中音频处理库pydub的使用教程

    前言 pydub是Python中用户处理音频文件的一个库.本文主要介绍了关于Python音频处理库pydub使用的相关内容,分享出来供大家参考学习,下面来看看详细的介绍: 安装: 1.安装pip工具:sudo apt-get install python-pip 2.安装pydub:sudo pip install pydub 3.pydub依赖于ffmpeg,所以还需要安装ffmpeg,由于Ubunbtu14.04官方源移除了ffmpeg,因此通过ppa源安装: sudo apt-add-re

  • Python 图片处理库exifread详解

    [导语]:用 python 怎样获得图片的GPS信息?今天推荐一下 exifread 这个神奇的库,不仅仅是 GPS 信息,几乎能能获得图片的所有信息,快进来看看!! 要怎样获得拍摄图片的GPS呢?这里我们需要exifread 库,这个就是用来提取 GPS 信息的.直接 pip install exifread 来安装就好了. 其实不仅能获得GPS信息,图片的几乎所有信息都能获得.exifread的作用其实是代替了查看图片属性!如下图: 这里用在三亚拍的骆驼照片来做个演示,看看能不能定位到三亚.

  • python中time库使用详解

    目录 time库的使用: 时间获取: (1)time函数 (2)localtime()函数和gmtime()函数 (3)ctime()函数(与asctime()函数为一对互补函数) 时间格式化: (1)strftime()函数(将时间格式输出为字符串,与strptime函数互补).strftime(格式,时间 )主要决定时间的输出格式 (2)strptime()函数,strptime(字符串,格式),主要将该格式的字符串输出为struct_time. 程序计时: 总结 time库的使用: Pyt

  • python中openpyxl库用法详解

    目录 一.读取数据 1.1 从工作簿中取得工作表 1.2 从表中取得单元格 1.3 从表中取得行和列 二.写入数据 2.1 创建Workbook对象来创建Excel文件并保存 2.2 案例分析一 :爬取数据并保存excel中 2.3 案例分析二: 操作单元格中内容样式并保存数据 2.4 案例分析三:将列表数据写入excel中 openpyxl模块是一个读写Excel 文档的Python库,openpyxl是一个比较综合的工具,能够同时读取和修改Excel文档. openpyxl.load_wor

  • 基于Python的PIL库学习详解

    摘要 对于图像识别,大量的工作在于图像的处理,处理效果好,那么才能很好地识别,因此,良好的图像处理是识别的基础.在Python中,有一个优秀的图像处理框架,就是PIL库,本博文会分模块,介绍PIL库中的各种方法,并列举相关例子. 参考:http://pillow-cn.readthedocs.io/zh_CN/latest/reference/index.html 网站上列举了PIL库中所有的模块和方法,但是没有相关的例子,博文中会尽量给出相关的例子和进行简单的讲解. 基于的环境:Win10,P

  • python的turtle库使用详解

    python中的turtle库是3.6版本中新推出的绘图工具库,那么如何使用呢?下面小编给大家分享一下. 首先打开pycharm软件,右键单击选择新建一个python file 接下来在弹出的界面中给python文件起一个名字,如下图所示 然后我们运用import命令导入turtle库,如下图所示 接下来编写如下图所示的绘图语句,主要利用turtle进行循环绘图 然后我们右键单击选择Run选项,如下图所示,来执行python文件 最后我们就可以弹出界面中线条在不断的增加,如下图所示 综上所述,在

  • Python的argparse库使用详解

    argparse是python标准库里面用来处理命令行参数的库 命令行参数分为位置参数和选项参数: 位置参数就是程序根据该参数出现的位置来确定的 如:[root@openstack_1 /]# ls root/    #其中root/是位置参数 选项参数是应用程序已经提前定义好的参数,不是随意指定的 如:[root@openstack_1 /]# ls -l    # -l 就是ls命令里的一个选项参数. 基本使用 import argparse # 创建解析器 parser = argpars

  • Python Excel处理库openpyxl详解

    Python中的penpyxl是一个第三方库,可以处理xlsx格式的Excel文件.pip install openpyxl安装. penpyxl读取Excel文件 需要导入相关函数 from openpyxl import load_workbook # 默认可读写,若有需要可以指定write_only和read_only为True wb = load_workbook('pythontab.xlsx') 默认打开的文件为可读写,若有需要可以指定参数read_only为True. penpyx

  • Python实现图片压缩的案例详解

    目录 1.引言 2.PIL模块 2.1 quality 方式 2.2 thumbnail方式 3.OpenCV模块 3.1 安装 3.2 执行代码 4.总结 1.引言 小屌丝:鱼哥,求助,求助 小鱼:啥情况,这火急火燎的? 小屌丝: 我要在某站进行认证,上传图片时提示,图片超过本站最大xxx限制. 小鱼:就这?? 小屌丝:对啊,我又不想换照片,又不像照片失真. 小鱼:就这要求? 小屌丝:对,能赶紧帮我不处理不? 小鱼:嗯~ 理论上是可以. 小屌丝:什么都别说,我懂,枸杞一袋! 小鱼:懂我,五分钟

  • python为图片和PDF去水印详解

    目录 安装模块 获取图片的 RGB 图片去水印 PDF 去水印 图片转为 pdf 总结 网上下载的 pdf 学习资料有一些会带有水印,非常影响阅读.比如下面的图片就是在 pdf 文件上截取出来的. 安装模块 PIL:Python Imaging Library 是 python 上非常强大的图像处理标准库,但是只能支持 python 2.7,于是就有志愿者在 PIL 的基础上创建了支持 python 3的 pillow,并加入了一些新的特性. pip install pillow pymupdf

  • Python实现为图片添加水印的示例详解

    目录 1.引言 2.filestools介绍 2.1 安装 2.2 filestools 功能介绍 2.3 watermarker模块介绍 2.4 代码实例 补充 1.引言 小屌丝:鱼哥,这个周末过得咋样 小鱼:酸爽~ ~ 小屌丝:额~~ 我能想到的,是这样吗? 小鱼:有多远你走多远. 小屌丝:唉,鱼哥,你别说,我觉得这个图片,跟你平时的表情挺贴切的. 小鱼:你想咋的!!!! 小屌丝:突然想到,能不能给你来一个专属的图片,例如追加水印啥的,让别人无图可盗!! 小鱼:嘿~ 你别说,还真的可以哈,

随机推荐