首页 > 解决方案 > setExposureModeCustom:EXIF 数据中的持续时间/ISO 值不匹配

问题描述

我正在开发一个使用各种高级 iOS 相机控件的应用程序,例如自定义曝光设置(持续时间和 ISO)。使用以下方法将曝光锁定为自定义值:

device.setExposureModeCustom(duration: duration, iso: iso) {
    (timestamp:CMTime) -> Void in
    // ...
}

我的应用程序还锁定了与特定温度/色调组合相对应的设备增益。

到目前为止,一切似乎都奏效了。但是,当我打开生成的照片文件(在我的情况下为 JPG)并查看存储在 EXIF 标签中的曝光持续时间/ISO 值时,我注意到我以编程方式指定的值与这些值之间存在巨大差异在 EXIF 标签中。

我已经用各种不同的曝光持续时间/ISO 组合对此进行了测试。如您所见,在大多数情况下,错误非常大:

测试各种曝光持续时间/ISO 设置并将它们与 EXIF 数据进行比较。

这是为什么?任何人都可以重现/确认这个问题吗?这似乎是Apple的一个错误。

使用 AVCapturePhotoOutput 的 capturePhoto 方法捕获照片:

self.photoOutput.capturePhoto(with: photoSettings, delegate: captureProcessor)

.custom是的,在拍摄任何照片之前,我反复检查了曝光模式是否设置为。配置 AVCaptureDevice 的代码工作正常。您还可以在预览中看到它正在工作,例如,使用更长的曝光时间或更大的 ISO 值会产生更亮的图像,正如您所期望的那样。

可能相关:


我的设备:iPad Pro (10.5"),iOS 13.2.2

标签: iosavcapturedeviceios-camera

解决方案


推荐阅读