使用Python读取照片的GPS信息

Posted 逆水行舟,不进则退

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用Python读取照片的GPS信息相关的知识,希望对你有一定的参考价值。

昨天听人说,用手机拍照会带着GPS信息,原来没注意过这个,因此查看下并使用代码获取照片里的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()

运行

读取更多信息

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()

如何防止信息被泄露

传图的时候不要用原图
在相机的设置里,将地理位置关掉
直接将GPS的权限关掉

以上是关于使用Python读取照片的GPS信息的主要内容,如果未能解决你的问题,请参考以下文章

如何用一张照片进行GPS定位?—最好的语言Java实现起来就这么简单!手把手教程+完整代码

如何用一张照片进行GPS定位?—最好的语言Java实现起来就这么简单!手把手教程+完整代码

Java获取照片的Exif信息,并解析GPS

Python读取安卓手机GPS信息

不丢失精度的获取照片的Gps经纬度

python获取原图GPS位置信息,轻松得到你的活动轨迹