根据iOS的照片应用程序数据,在过去的14年里,我已经拍摄了73,281张iPhone照片。
有很多工具中可以查看这些信息。你用来管理照片的应用程序将在图像旁边显示此元数据,例如在iOS16中:
此元数据称为EXIF(可交换图像文件格式),存储在照片文件本身内部,出现在图像的开头(在任何图像数据出现之前)。如果我们检查从iPhone导出的JPEG照片的内容,我们会看到EXIF数据标记(FFE1)直接出现在JPEG图像开始标记(FFD8)之后:
下面的图片显示了存储在单个图像中的大量元数据信息(因内容较多,只截图展示了部分数据)。EXIF数据解析由MattiasWallander的ExifReader库处理。
每一张图像都是一个密集的信息球。不仅图像本身,还包含您在给拍摄那一刻的确切位置和方向等其他数据。
正如我们上面看到的照片包含了很多信息。在一个包含数千张图像的照片库中提取和查询数百个字段可能很棘手。幸运的是有很多工具可以帮助我们完成这项任务。
exiftool就是一个很不错的选择,强烈建议使用这个工具。
为了存储和查询照片,我们将使用sqlite。它适合我们的目的是有足够的性能完成此任务。
首先安装它们,如果您使用的是Mac,请使用brew:
brewinstallsqlite3exiftool如果您使用的是ApplePhotos,这里有两个选择:导出完整的照片图库,然后在输出的目录运行exiftool,或者直接在ApplePhotos在后台使用的生成缩略图上运行exiftool。
如果你只是想要一种快速的方法来为你的ApplePhotos库生成一套完整的EXIF数据,我发现以下方法在2023年8月之前效果很好。它解析内部derivatives目录中的低分辨率缩略图(以_c.jpeg结尾的缩略图):
exiftool-n-csv-r~/Pictures/Photos\Library.photoslibrary/resour>ces/derivatives-i~/Pictures/Photos\Library.photoslibrary/resourc>es/derivatives/masters-if'$Filename=~/_c.jpeg/i'>exif.csv从ApplePhotos中提取一组照片可能会非常棘手。图像的底层架构和存储其中许多包含远程存储在iCloud中的原件,需要专业工具来解析。您可以使用osxphotos这个工具,它以任何格式导出完整的ApplePhoto图库,并且像--added-in-last"1month"这样的参数可以进行详细的过滤。下面是一个示例:
osxphotosexport--added-in-last"1month"--only-photos--not-edited--exifModeliPhone./export一旦我们有了一个图像目录,我们就可以使用exiftool将元数据提取到CSV中。
exiftool-n-m-csv./images>exif.csv然后将此CSV导入sqlite进行查询。
sqliteexif.dbsqlite>.modecsvsqlite>.importexif.csvphotossqlite>SELECTcount(*)FROMphotos;68182现在我们有了一个数据库,里面有我们拍摄过的每一张照片的可查询元数据。接下来让我们问这些数据一些问题吧!
在浏览丰富的元数据时,有些字段对我来说很突出。其中一些是EXIF标准,但更多是针对Apple相机的:
视野(FOV):图像捕获时的水平视野。
方向/航向(GPSImgDirection):沿着位置(纬度和经度),EXIF还存储有关捕获图像时相机指向何处的信息。这与相机的视野相结合,使我们能够用视觉锥来注释图片在的地图位置。
海拔(GPSAltitudeRef):图像的高度虽然通常不精确,但可用于将3D数据给予2D纬度/经度对。这种额外的尺寸在多层建筑物和结构中或在空中时很有用。
速度(GPSSpeed):拍摄图像时相机移动的速度。
图像噪声(SignalToNoiseRatio):信号量与相机传感器捕捉到的噪声。可用于表示图像质量。
摄像机加速(AccelerationVector):一个三维矢量,显示相机的向前/向后、向上/向下和左右加速度。
基于这些字段我们可以对照片数据库提出一些有趣的问题。
当你在网上发布一张朋友公寓楼的照片时,你不仅仅提供了图像本身,你还提供了纬度、经度和海拔。凭借良好的GPS精度,完全有可能找到照片拍摄的确切公寓。
事实上当你给予一个iOS应用程序对你的照片库的完全访问权时,你也把所有这些信息都给了别人。任何可以访问你的照片库的应用程序都可以通过足够的努力确定你的地址,你在哪里购物,你的朋友住在哪里,你去哪里度假,你在哪里工作,以及你什么时候睡觉。这些都是不需要看图像本身而得来的数据。
看完本文如果觉得有用,记得点个赞支持,收藏起来说不定哪天就用上啦~