在安卓的相机系统中,ISO 表示感光度,它实际上反映的是图像传感器对光线的整体响应度。ISO 值的调整可以通过增益(gain)的调节实现,增益会放大传感器采集的信号强度。通常,ISO 是通过以下几种增益相乘得到的:
1. 模拟增益(Analog Gain)
模拟增益是相机传感器对光信号的物理放大,是感光的第一步。传感器接收到的光信号经过电路的物理放大后,再转换为数字信号。模拟增益直接影响传感器生成的信号强度。
- 作用:模拟增益是调节传感器本身对光的灵敏度。通过改变传感器的工作电压,可以放大光信号,从而提高传感器对弱光的响应。
- 缺点:增加模拟增益可能会增加噪声,尤其是在低光环境下。
2. 数字增益(Digital Gain)
数字增益是在信号经过模数转换(ADC)后,进一步放大信号的过程。数字增益是对已经转换为数字形式的信号进行后处理,通过软件或硬件算法放大信号值。
- 作用:数字增益通过软件的方式对已经转换成数字的图像数据进行放大,用于进一步提升亮度。
- 缺点:数字增益放大会放大噪声和失真,影响图像质量。
3. 额外增益(有时称作 ISP 增益,Image Signal Processor Gain)
有些相机系统还会包括额外的增益,通常在图像信号处理器(ISP)阶段对信号进行进一步的调整。ISP 负责对图像信号进行处理,例如白平衡、去噪、色彩校正等操作。
- 作用:用于对图像进行额外的处理和优化,提高感光度的同时维持画质。
- 缺点:增益越大,信号质量可能会下降,尤其是在极端条件下。
ISO 计算的过程
通常情况下,安卓相机系统中的 ISO 值 是通过模拟增益 与数字增益(以及可能的 ISP 增益)的乘积来实现的:
[
\text{ISO} = \text{Analog Gain} \times \text{Digital Gain} \times \text{ISP Gain}
]
具体而言,不同的设备和相机硬件对这几个增益的应用可能有所不同,但一般来说,这些增益的组合决定了最终的 ISO 值。
- 低 ISO:通常依赖较低的增益,模拟增益占主导,图像质量较高,噪声少。
- 高 ISO:通过增大模拟增益和数字增益的倍数来实现,图像会更亮,但噪声也会增多。
安卓 Camera2 API 中的 ISO 与增益
通过安卓 Camera2 API ,你可以直接访问和控制相机的 ISO 参数(感光度),以及增益值的设置。例如,通过 CaptureRequest.CONTROL_AE_MODE
和 CaptureRequest.SENSOR_SENSITIVITY
来控制自动曝光模式和 ISO 感光度。
总结来看,安卓中的 ISO 是通过多个增益值相乘实现的,通常包括模拟增益、数字增益以及可能的 ISP 增益。增益越大,ISO 值越高,但可能会引入更多噪声。