图片信息到底藏了多少东西?我拆成三层给你看
去年有个事。朋友挂二手房,中介发来一批“实拍图”,我随手拖进 ExifTool 看了一眼,GPS 坐标精确到小数点后六位,直接落到某小区 3 号楼;拍摄时间 2019-08-14 15:22:07,机身 Canon EOS 6D Mark II,镜头 EF 16-35mm f/4L IS USM。中介本来只想让图看起来亮一点,估计没想过这些。后来我让他全部清了一遍才发。
这种事挺多的。闲鱼卖货发原图、小红书发探店照、给陌生人发定位截图……大部分人看图片只看画面那部分,但一张 JPEG 里能塞的东西,比画面本身多得多。
我习惯把“图片信息”分三层:像素层、容器层、平台层。分开看,很多争论其实就不是争论了。
像素层是眼睛能看到的东西:分辨率、位深、色彩空间、压缩质量。800 万像素大概 3264×2448,1200 万是 4032×3024,算一下就有。8 位每通道意味着单通道 256 级,三通道合起来约 1677 万色。色彩空间这块最容易出事——你把 Adobe RGB 的图丢给一个不做色彩管理的软件,红色会变得发闷发脏,因为同一个 RGB 数值在两个空间里对应的实际颜色根本不一样。这也是为什么有些图在自己电脑上好看,传给别人就“变土”了。
容器层是文件里附带的元数据,主要是 EXIF、IPTC、XMP 三套。EXIF 由 JEITA 定标准,现在归 CIPA 维护,最新是 Exif 2.32,管拍摄参数:Make、Model、LensModel、FNumber、ExposureTime、ISO、FocalLength、DateTimeOriginal、GPSLatitude、GPSLongitude 这些。IPTC 偏新闻行业,管作者、版权、标题、关键词。XMP 是 Adobe 搞的,XML 格式,能塞的东西最多,Lightroom 的调色参数有时候就藏里面。在 JPEG 文件里,这些数据挂在 APP1(EXIF)、APP13(IPTC/Photoshop)这些段里。PNG 其实也有 eXIf 块,但很多导出工具压根不写;WebP 支持 EXIF/XMP,可不少在线压缩工具默认给你剥干净。
平台层是最容易被忽略的一层。同一张图,你发微信原图、发朋友圈、发小红书、发微博,最后生成的是四个不同的文件。朋友圈那条基本会把长边压到 1080 上下,EXIF 清得只剩个机型甚至什么都不剩;微信“原图”发送时保留得相对完整,但对方保存后可能又被处理一次。所以我经常碰到有人说“我明明看得到参数啊”,换个渠道再看就没了——不是工具的问题,是这张图已经被平台重写过了。
具体怎么操作,说几个我自己在用的。Windows 上单张图右键 → 属性 → 详细信息,往下拉能看到相机型号、光圈、快门、ISO、GPS。想批量清,全选文件 → 右键 → 属性 → 详细信息 → “删除属性和个人信息” → 创建不包含任何可删除属性的副本。注意是“副本”,原图还在。Mac 上选中图片按 Cmd+I,或者预览里走 工具 → 显示检查器。iPhone 照片 App 打开照片往上滑就出信息面板,分享时点顶部“选项”能把位置关掉。
想批量、想精细控制,还是 ExifTool 靠谱。这玩意是 Phil Harvey 用 Perl 写的,命令行,跨平台,免费。查单张:exiftool image.jpg。只删 GPS:exiftool -GPS:all= image.jpg。全清:exiftool -all= image.jpg。
这里有个坑,我踩过。-all= 会连 ICC 色彩配置文件一起删掉,如果你的图是 Adobe RGB 或者 ProPhoto RGB,删完之后在只认 sRGB 的环境里打开,颜色会偏。我现在的做法是先转 sRGB,再清元数据,顺序反了就容易翻车。
还有两个常见误区。一是把 DPI 从 72 改成 300,就以为图片变清晰了——不会,像素数一个没变,DPI 只影响默认打印尺寸,1200×1600 的图在 300 DPI 下就是 4×5.33 英寸,改数值不改变任何实际精度。二是截图,截图一般没有相机信息,只有软件名之类寥寥几条,所以拿截图去“查拍摄设备”是查不到的。
最后说个我的看法。EXIF 本质上是相机的日记,但它会撒谎——时间没校准、时区没处理、软件能随便改,甚至有人把别人的图改个型号当自己的作品发出来。反过来,现在很多 AI 生成的图几乎不带 EXIF,或者只留一句 Software 字段。所以“有没有 EXIF”可以当个弱线索,但别当铁证。真正靠谱的判断,还是得回到像素层去看东西本身。