ios - Understanding AVCaptureDevice exposureDuration, exposureTargetOffset, exposureTargetBias
问题描述
Come from Android os, I'm trying to understand the AVCaptureDevice API and find a match between the different parameters of the IOS and Android. I'm working with auto-continuous exposure mode. I'm having trouble with exposure parameters above: To my understating:
- exposureDuration - This is the length of time in which the expose actuacly happens. It can be normalized to units of [seconds] by using the value and scale of this property.
- exposureTargetOffset, exposureTargetBias - I'm not sure what these values represents - are they kind of fix applied to get the desired exposure level? what is this exposure target value?
解决方案
你并不孤单。我也不是专业摄影师,所以很困惑。我认为你的直觉正在引导你朝着正确的方向前进。
如果设置 exposureDuration
,您将退出“自动曝光模式”,它将冻结该曝光持续时间和当前或指定的 ISO 设置。如果灯光发生变化,您就会被该设置卡住。
如果设置exposureTargetBias
,它将模仿精美的相机并将自动计算的曝光设置向上或向下移动一个曝光值(f 值和曝光持续时间的组合)。图像的曝光有一个标准值,但有时您希望为风格或快门速度优先级过度曝光或曝光不足。改变偏差告诉自动曝光系统瞄准高于或低于“正确”标准值的值。
这是一篇在 iOS 中解释它的精彩文章:https ://www.imore.com/camera-api-ios-8-explained
曝光补偿以 f-stop 表示。+1 f-stop 使亮度加倍,-1 f-stop 使亮度减半。开发人员目前可以为所有现有 iOS 设备设置 -8 和 +8 之间的曝光目标偏差。然而,苹果警告称,这种情况未来可能会发生变化。
如果您有一部新 iPhone(11 或更新版本),您甚至可以实时更改偏差。
此处解释了曝光偏差:https ://digital-photography-school.com/using-exposure-bias-to-improve-picture-detail/
exposureTargetOffset
告诉您相机达到您要求的偏差值的程度。有时它只是无法调整到足以使图像变暗(瞄准太阳,相机试图缩短曝光时间并将 ISO 降低到非常低)或变亮(漆黑的壁橱,相机试图曝光图像传感器很长一段时间,并将 ISO 提高一吨以收集所有光线,从而导致图像变暗且有颗粒感)。如果相机无法击中目标或正在对其进行调整,则偏移量会告诉您当前距离目标有多远。对于视频,曝光显然受到帧率的限制。
推荐阅读
- python - 定位和读取所有 .py 文件
- javascript - 相同的 API 请求,一个得到响应并存储它,另一个没有
- javascript - 如何返回没有方括号的数组?
- c# - XAML如何将子项添加到c#中的按钮
- node.js - 有没有办法使用工作线程运行本机代码模块?
- r - 从脚本到 R 中的包
- java - JTA Atomikos 和 JBPM 死锁
- python-3.x - 使用 Selenium 和 Python 在 p-dropdown 标签内选择一个元素
- nginx - Nginx - 如何读取自定义响应头?
- ios - 来自 Swift 的 [(confidence: NSNumber, identifier: NSString)] 类型的数据作为 React 上的值 [null, null]