python小课堂20 - 5分钟教你用图片定位具体地址!
前言
今天像上次一样来点实战干货,有了面向对象以及之前所介绍的知识,即可以实现本章内容。为了复习下面向对象的使用方法,特意写了一篇实战,若有不懂得的地方,请回顾python小课堂1-19。
在我们的日常生活中,经常离不开照相,尤其是在中国这么网络发达的国家,出去旅个游或者晒个娃都会通过互联网的形式将照片发到朋友圈留个纪念。那么今天的主题就是5分钟教会你用python如何通过图片来定位到图片拥有者的地理信息!由于本章内容涉及到个人隐私问题,所以请遵守以下声明。
声明:本章内容仅供学习记录使用,请勿用于商业以及非法用途!
图片定位的实现思路
在正式讲解思路之前,先来补充一个知识点,描述数据的数据信息,我们称之为元数据!简单地举个栗子来说:比如,有一条学生信息记录,其中包括字段姓名(name)、年龄(age)、性别(male)、班级(class)等,那么name、age、male、class就是元数据。通过它们的描述,一条关于学生信息的数据记录就产生。
相对的,图片信息也是存在元数据的,网上官方称之为exif(exchange image file format),中文意思是交换图像文件格式。要注意的是有些图片是没有元数据的,比如压缩过的图片,元数据被破坏,无法探测,所以图片一定要是原图。如果你想用微信朋友圈,微博的图片来测试这次的代码,怕是没有希望了,因为都是被压缩过的图片。后续会提供一些额外思路,通过图片来定位物理信息在网络安全中还是非常有用途的。
这次用到的是python第三方库exifread,通过此库可以直接对图片进行元数据的读取。读取后其中有4项是关于GPS的经纬度坐标,将其清洗转化为gps在线网页(http://www.gpsspg.com/maps.htm)查询的经纬度格式。
定位的演示效果以及讲解
这里以我前一阵去顺义为例吧,途中路过孙河附近,当时觉得天气还不错,借着太阳错位发出的光给路灯随手拍了一张,图片如下:
上面这张图片原图,接下来我把它放到一个文件夹下,通过命令行调用python脚本来得到它的经纬度位置。

本文介绍了如何使用python从图片中获取GPS坐标,通过exifread库读取元数据,定位图片拍摄地点。强调了原图的重要性,以及隐私保护的必要性。
最低0.47元/天 解锁文章
845

被折叠的 条评论
为什么被折叠?



