有个朋友之前问我,如何通过一张照片确定别人或自己的拍摄时间、位置、相机参数等问题,正好我之前用别的手机做了几次小实验,然后整理了以下内容,下面我就展开说说里面具体的原理和方法。
首先,介绍一个名词: EXIF信息 。EXIF信息是可交换图像文件的缩写,是专门为数码相机的照片设定的,可以记录数码照片的属性信息和拍摄数据。EXIF可以附加于JPEG、TIFF、RIFF等文件之中,为其增加有关数码相机拍摄信息的内容和索引图或图像处理软件的版本信息(来自百度百科)。
当我们手机拍照片时,手机会自动的保存照片对应的EXIF信息,当我们通过qq、微信等社交工具发送自己的图片给别人时,如果发送时勾选了「原图」,则照片的EXIF信息也会留存在照片中发送给别人;如果没有勾选「原图」,你的隐私信息则不会暴露。当然,细心的人会发现,勾选原图发送的照片会比直接发送的照片所占内存大得多。
下面我就具体说说如何查看定位信息的,以下有三个方法,注意,均是建立在原图基础之上的,不然都是白搭。
1.使用微信小程序
点击加号,选择图片。 重要的事情说三遍:原图,原图,原图!!!
这个是在长春站附近拍的,解析出来如下:
2.EXIF信息查看器网站https:// exif.tuchong.com
点击「选择文件」,上传照片,之后就能解析EXIF信息,如下:
根据经纬度信息可以直接定位到拍照附近的位置(我试过,有些许误差)。
3.手机相册里面可以定位或是查看具体的EXIF信息
把原图保存到手机相册(我的是小米的),然后点击:
然后出现:
4.还可以写代码解析出来,用python语言在pycharm编辑器上运行代码就能输出对应的参数信息,这里就不过多叙述,想要代码的可以用ai生成。
但是,经过我的几次实验发现,用微信即使勾选「原图」发送,仍然不能解析出EXIF信息,可能是微信对用户的隐私保护好一点。
知道的就这么些了,欢迎大家补充。