问题描述
目标是拍摄出相机所能拍摄的最高分辨率照片。
所选的摄像头是 iPad 11" 第三代(带 M1)前置摄像头:新的 12MP TrueDepth 摄像头。 尽管此代码确实在 iPhone 12 mini 和我测试过的所有其他设备上拍摄了最高分辨率的照片,但它在 iPad 11" 3rd gen 上没有:而不是拍摄一张 12MP 的照片,照片以 7MP (3088x2316) 的格式返回。
谁能发现我做错了什么?我忽略的唯一我知道可能很重要的代码是我也打开了元信息 + 深度传递(添加 AVCaptureMetadataOutput
和 AVCaptureDepthDataOutput
以及通常的 {{ 1}})。令人沮丧的是,我没有可用于测试的 iPad 11" 3rd gen,我依赖于帮助我调试此问题的用户。
非常感谢您的帮助!
AVCaptureVideoDataOutput
解决方法
我从一位好心的 Apple 高级工程师那里得到了答案。这不是我所期望的!
简短版本:相机传感器是 12MP,但它以 7MP 拍摄照片,因为几何正确的中心部分是 7MP……传感器的外部是 FaceTime Center Stage 的鱼眼,你可以看到您缩小最广角视图。相机应用将 7MP 照片放大 12MP,但实际上是 7MP 的细节。