使用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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
2016-01-19 Echarts3