利用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写赏月工具

    中秋阴天看不见月亮只好用python写赏月工具

    女神约我去赏月!我一看中秋节可能会下雨,立马用Python写了款赏月工具!本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考价值,需要的朋友可以参考下
    2021-09-09
  • Python+SQLAlchemy轻松实现管理数据库

    Python+SQLAlchemy轻松实现管理数据库

    QLAlchemy是一个强大的ORM(对象关系映射)库,它允许您通过Python代码与关系型数据库进行交互,本文我们将学习如何使用Python和SQLAlchemy库来轻松管理数据库,需要的可以参考下
    2023-05-05
  • 基于Numpy.convolve使用Python实现滑动平均滤波的思路详解

    基于Numpy.convolve使用Python实现滑动平均滤波的思路详解

    这篇文章主要介绍了Python极简实现滑动平均滤波(基于Numpy.convolve)的相关知识,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-05-05
  • Python matplotlib绘制散点图的实例代码

    Python matplotlib绘制散点图的实例代码

    这篇文章主要给大家介绍了关于Python matplotlib绘制散点图的相关资料,所谓散点图就是反映两组变量每个数据点的值,并且从散点图可以看出它们之间的相关性,需要的朋友可以参考下
    2021-06-06
  • Python socket处理client连接过程解析

    Python socket处理client连接过程解析

    这篇文章主要介绍了Python socket处理client连接过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-03-03
  • Python3爬虫里关于Splash负载均衡配置详解

    Python3爬虫里关于Splash负载均衡配置详解

    在本篇文章里小编给大家分享了关于Python3爬虫里关于Splash负载均衡配置的相关内容,需要的朋友们可以学习参考下。
    2020-07-07
  • python判断windows隐藏文件的方法

    python判断windows隐藏文件的方法

    inux 下隐藏文件是以句号 “.” 开头的文件,根据文件名即可判断是否为隐藏文件。win 下是以文件隐藏属性确定的,所以,只能通过微软的 API 获取隐藏属性来判断是否为隐藏文件
    2014-03-03
  • python实现删除列表中某个元素的3种方法

    python实现删除列表中某个元素的3种方法

    这篇文章主要介绍了python实现删除列表中某个元素的3种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-01-01
  • Python中获取图片的大小问题

    Python中获取图片的大小问题

    这篇文章主要介绍了Python中获取图片的大小问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-11-11
  • 如何使用pandas对超大csv文件进行快速拆分详解

    如何使用pandas对超大csv文件进行快速拆分详解

    Pandas是Python语言的一个扩展程序库,提供高性能、易于使用的数据结构和数据分析工具,下面这篇文章主要给大家介绍了关于如何使用pandas对超大csv文件进行快速拆分的相关资料,需要的朋友可以参考下
    2022-07-07

最新评论