iOS capturePhoto() 仅在 iPad 11" 第三代前置摄像头上无法拍摄最高分辨率的照片

问题描述 投票:0回答:1

目标是拍摄相机能够拍摄的最高分辨率的照片。

所选相机为 iPad 11" 第三代(带 M1)前置摄像头:全新 12MP TrueDepth 摄像头。 虽然此代码在 iPhone 12 mini 和我测试过的所有其他设备上确实拍摄了最高分辨率的照片,但在 iPad 11" 第三代上却不能:照片返回为 7MP,而不是拍摄 12MP 照片(3088x2316).

有人能发现我做错了什么吗?我唯一省略的代码是我知道可能很重要的事实是我也打开了元信息+深度传递(添加

AVCaptureMetadataOutput
AVCaptureDepthDataOutput
以及通常的
AVCaptureVideoDataOutput
)。令人沮丧的是,我没有 iPad 11" 第三代可供测试,我只能依靠帮助我调试此问题的用户。

非常感谢您的帮助!

    self.session = AVCaptureSession.init()
    self.session.sessionPreset = .photo
    ...
    self.photoOutput = AVCapturePhotoOutput.init()
    self.photoOutput.isHighResolutionCaptureEnabled = true
    self.photoOutput.isLivePhotoCaptureEnabled = false
    self.photoOutput.maxPhotoQualityPrioritization = .quality
    ...
    let photoSettings = AVCapturePhotoSettings(format: [AVVideoCodecKey: AVVideoCodecType.jpeg, AVVideoCompressionPropertiesKey: [AVVideoQualityKey: 0.8]])
    photoSettings.photoQualityPrioritization = .quality
    photoSettings.isHighResolutionPhotoEnabled = true
    photoSettings.isDepthDataDeliveryEnabled = true
    photoSettings.isPortraitEffectsMatteDeliveryEnabled = true
    ... capturePhoto...
ios swift camera avcapturedevice
1个回答
1
投票

我得到了一位好心的苹果高级工程师的答复。这不是我想象的那样!

简短版本:相机传感器是 12MP,但它以 7MP 拍摄照片,因为几何上正确的中心部分是 7MP....传感器的外侧是 FaceTime Center Stage 的鱼眼,如果变焦,您可以看到以最广角视角呈现。相机应用程序将 7MP 照片升级为 12MP,但实际上它的细节是 7MP。

© www.soinside.com 2019 - 2024. All rights reserved.