利用Python实现获取照片位置信息

 更新时间:2022年08月22日 16:28:23   作者:不许代码码上红  
Python中的exifread库,不仅仅是 GPS 信息,几乎能获得图片的所有信息。本文就将利用这个库实现获取照片位置信息,感兴趣的可以了解一下

引言

通过一张照片居然发现女友在宿舍里没去上课!强大的照片位置信息获取,快来一起学习吧!

一、exifread函数库

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

安装exrfread库(PyCharm)

打开settings如下图

选择+号搜索exifread

安装即可

什么是exifread函数库

原理

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

二、获取女朋友发来的照片(单身勿扰)

女朋友居然告诉我这只狗好可爱?

哪里可爱了!!?

将图片放在代码所在的目录下

三、具体代码实现

import exifread
import re

# 读取图片为二进制格式
f = open("example2.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实现获取照片位置信息的文章就介绍到这了,更多相关Python照片位置信息内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 对python list 遍历删除的正确方法详解

    对python list 遍历删除的正确方法详解

    今天小编就为大家分享一篇对python list 遍历删除的正确方法详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-06-06
  • Python MySQLdb 使用utf-8 编码插入中文数据问题

    Python MySQLdb 使用utf-8 编码插入中文数据问题

    这篇文章主要介绍了Python MySQLdb 使用utf-8 编码插入中文数据问题,需要的朋友可以参考下
    2018-03-03
  • Python和Matlab实现蝙蝠算法的示例代码

    Python和Matlab实现蝙蝠算法的示例代码

    蝙蝠算法是一种搜索全局最优解的有效方法,本文主要介绍了Python和Matlab实现蝙蝠算法的示例代码,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-03-03
  • Python+pandas编写命令行脚本操作excel的tips详情

    Python+pandas编写命令行脚本操作excel的tips详情

    这篇文章主要介绍了Python+pandas编写命令行脚本操作excel的tips详情,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的朋友可以参考一下
    2022-07-07
  • Python+Turtle绘制航海王草帽路飞详解

    Python+Turtle绘制航海王草帽路飞详解

    turtle库是一个点线面的简单图像库,在Python2.6之后被引入进来,能够完成一些比较简单的几何图像可视化。本文将利用turtle绘制一个可爱的草帽路飞,感兴趣的可以试一试
    2022-03-03
  • Python简单定义与使用字典dict的方法示例

    Python简单定义与使用字典dict的方法示例

    这篇文章主要介绍了Python简单定义与使用字典的方法,结合简单实例形式分析了Python字典的原理、组成、定义及使用方法,需要的朋友可以参考下
    2017-07-07
  • PyOD进行异常值检测使用实例

    PyOD进行异常值检测使用实例

    异常值检测各个领域的关键任务之一,PyOD是Python Outlier Detection的缩写,可以简化多变量数据集中识别异常值的过程,在本文中,我们将介绍PyOD包,并通过实际给出详细的代码示例
    2024-02-02
  • 更新pip3与pyttsx3文字语音转换的实现方法

    更新pip3与pyttsx3文字语音转换的实现方法

    今天小编就为大家分享一篇更新pip3与pyttsx3文字语音转换的实现方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-08-08
  • python rsync服务器之间文件夹同步脚本

    python rsync服务器之间文件夹同步脚本

    这篇文章主要为大家详细介绍了python rsync服务器之间文件夹同步脚本,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-08-08
  • python实现三子棋游戏

    python实现三子棋游戏

    这篇文章主要为大家详细介绍了python实现三子棋游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-05-05

最新评论