逆向iPhone摄影系统iPhone照片里藏着深度图
一张看似普通的iPhone15Pro照片,其实藏着一整套微型“摄影系统”,包括iPhone“悄悄”生成的深度图(Depth Map)。
开发者Mark Litwintschik通过一组Python脚本,把这套系统一步步“逆向拆解”了出来——从HEIC格式中提取出景深图、HDR增益图和色彩信息,拼出iPhone成像背后的完整工作流程。
这张景深图,是整场拆解中最关键的一环,它说明,iPhone在拍照时,并不是被动记录画面,而是在主动感知空间。
换句话说,手机早已不再只是“拍一张图”,而是在捕捉“一个场景”。
以下是拆解亮点:
1. HEIC其实是个多图层容器
iPhone默认使用HEIC格式保存照片,但它内部结构更像一个“图像文件夹”,包含:
- 主图像(5712×4284像素)
- HDR增益图(约为主图一半大小)
- 深度图(768×576像素)
- 大量EXIF、XMP元数据(部分还用base64编码)
- 用户平时只能看到最外层的那张图,但其实还有多个“隐形图层”被一并保存下来。
2. 深度图是怎么被找出来的? 借助德国VFX从业者Finn Jaeger的开源工具“HEIC Shenanigans”,Mark把HEIC拆开,逐层导出。其中就发现了那张隐藏的景深图。
【图2 第二张】显示的灰度图像中:
- 白色表示近距离
- 黑色表示远距离
- 中间不同程度的灰阶,则代表景深过渡
- 尽管是低分辨率,但空间信息已经非常清晰,可以辅助后期实现背景虚化、3D重建等效果。
3. 这张深度图并不依赖LiDAR 值得注意的是,iPhone并没有激光雷达,而是通过双摄差异、结构光或算法模型来“估算”景深。也就是说,大多数iPhone15Pro用户的照片里,可能都有一张自己没见过的景深图。
4. 逆向拆解揭示了手机摄影的“工作原理” 拆解文件后,Mark还用OpenEXR、OpenColorIO等电影工业工具,完整重构了图像处理流程。包括:
- 色彩空间转换:sRGB → Linear P3 → ACEScg
- HDR增益图叠加计算
- 深度图整合进EXR格式输出
- 每一层图像都被单独命名和处理,形成专业级图像资产
这场拆解可以看出,iPhone的摄影系统,远不只是一个“光圈+快门”的模拟器,而是一个不断采集空间、亮度、色彩等多维信息的“图像感知设备”。
原文包含Python代码,感兴趣的小伙伴可以点击:tech.marksblogg.com/apple-iphone-15-pro-depth-map-heic.html