使用Python读取照片的GPS信息

使用Python读取照片的GPS信息

大家好,又见面了,我是全栈君。

使用Python读取照片的GPS信息

来源:https://www.cnblogs.com/baby123/p/12213794.html

昨天听人说,用手机拍照会带着GPS信息,原来没注意过这个,因此查看下并使用代码获取照片里的GPS信息

使用Python读取照片的GPS信息

说明:

  一般手机拍照时默认会打开地理位置开关

  经过压缩后,通常会将GPS信息压缩掉

EXIF

  可交换图像文件常被简称为EXIF(Exchangeable image file format),是专门为数码相机的照片设定的,可以记录数码照片的属性信息和拍摄数据

注:

  EXIF信息不支持png,webp等图片格式

python通过exifread模块获得图片exif信息 

ExifRead

Python library to extract EXIF data from tiff and jpeg files.

安装

pip install exifread

读取GPS

import exifread
import re


def  read():
    GPS = {}
    date = ''
    f = open("E:\\python\\IMG_20200119_145630.jpg",'rb')
    contents = exifread.process_file(f)
    for key in contents:
        if key == "GPS GPSLongitude":
            print("经度 =", contents[key],contents['GPS GPSLatitudeRef'])
        elif key =="GPS GPSLatitude":
            print("纬度 =",contents[key],contents['GPS GPSLongitudeRef'])
read()

运行

使用Python读取照片的GPS信息

读取更多信息

import exifread
import re


def  read():
    GPS = {}
    date = ''
    f = open("E:\\python\\IMG_20200119_145630.jpg",'rb')
    contents = exifread.process_file(f)
    for key in contents:
        if key == "GPS GPSLongitude":
            print("经度: ", contents[key],contents['GPS GPSLatitudeRef'])
            print("纬度: ",contents['GPS GPSLatitude'],contents['GPS GPSLongitudeRef'])
            print("高度基准: ",contents['GPS GPSAltitudeRef'])
            print("海拔高度: ",contents['GPS GPSAltitude'])
        if re.match('Image Make', key):
            print('品牌信息: ' , contents[key])
        if re.match('Image Model', key):
            print('具体型号: ' , contents[key])
        if re.match('Image DateTime', key):
            print('拍摄时间: ' , contents[key])
        if re.match('EXIF ExifImageWidth', key):
            print('照片尺寸: ' , contents[key],'*',contents['EXIF ExifImageLength'])
        if re.match('Image ImageDescription',key):
            print('图像描述: ' , contents[key])
read()

使用Python读取照片的GPS信息

如何防止信息被泄露

传图的时候不要用原图
在相机的设置里,将地理位置关掉
直接将GPS的权限关掉
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/111914.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • rabbitmq使用mqtt协议[通俗易懂]

    rabbitmq使用mqtt协议[通俗易懂]提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、rabbitmq是什么?二、mqtt协议是什么?三、使用步骤1.引入库2.读入数据总结前言在网上学习物联网,发现有人可以用springboot+rabbitmq可以搭建物联网(IOT)平台,rabbitmq不是消息队列吗,原来rabbitmq有两种协议,消息队列是用的AMQP协议,而用在智能硬件中的是MQTT协议。一、rabbitmq是什么?示例:pandas是基于NumPy的一种工具,该工具是为了解

    2022年10月3日
    5
  • 恐怖的vs2005 sp1安装过程.[通俗易懂]

    恐怖的vs2005 sp1安装过程.[通俗易懂]今天刚把这个400多M的sp1从公司拷回来,算计着这样可以省掉不少下载时间.可是,可是,竟然没有想到,安装过程是如此的恐怖.首先,我的C盘空间明显的感到害羞,只有1.5G的剩余空间了,赶

    2022年7月2日
    25
  • Mac录屏软件:Record It[通俗易懂]

    Mac录屏软件:Record It[通俗易懂]RecordIt是一款屏幕录制应用软件,支持录制屏幕和录制声音,让您能够精准,高质量地捕获屏幕上所有的活动。RecordIt支持制作专业的应用软件演示,录制在线视频,ppt和图片幻灯片,制作指导教程等。同时录制来自系统声音或麦克风的声音。软件特色Recordit支持Windows和Mac两种系统,操作方式也很简单,将Recordit安装后执行,它会常驻于右上角菜单栏,开始前先把想录影的视窗打开,点选右上角的Recordit图示开始。使用Recordit的十字线来拖曳、绘制出想要录影

    2022年9月16日
    3
  • navicat 生成激活码时出错_在线激活2022.03.04

    (navicat 生成激活码时出错)这是一篇idea技术相关文章,由全栈君为大家提供,主要知识点是关于2021JetBrains全家桶永久激活码的内容IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html40ZKSWCX8G-eyJsaWN…

    2022年3月13日
    709
  • oracle删除数据索引还会在吗_索引数据频繁修改

    oracle删除数据索引还会在吗_索引数据频繁修改首先查到表中的现有索引:select*fromuser_indexeswheretable_namein(‘表名’,”);删除索引:dropindex索引名;

    2025年9月14日
    5
  • Oracle 视图索引

    Oracle 视图索引第五章视图索引的操作5.1视图的功能一个视图实际上就是封装了一条复杂的查询语句注:为了在当前用户模式中创建视图,要求数据库用户必须有createanyview(创建任何视图)的权限。5.2创建视图的语法create[orreplace]view视图名称as查询语句例:建立一个视图,包含全部部门编号为20的部门的雇员信息(雇员编号,姓名,工作,部门编号)createview…

    2022年7月22日
    10

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号