我正在使用 Samsung Galaxy Tab 10.1"在 Android 上构建应用程序。 我想使用设备的后置摄像头获取场景亮度值。
不幸的是,我无法找到直接访问设备背面的光传感器读数的方法。因此,我目前通过计算每个灰度帧的平均值来手动估计亮度。然而,由于帧曝光和白平衡的自动校正,这种方法并不准确。例如,如果您将相机指向非常亮的光源,相机将使整个图像变暗,并且灰度帧的平均值将太低(因为亮源之外的区域现在将非常暗)。
我搜索了允许我禁用我提到的自动更正的方法,但没有找到任何东西。
有没有一种方法可以让我使用后置摄像头获取场景亮度值?
最佳答案
遗憾的是,您的说法是正确的,目前无法从 Android 相机 API 获取此数据。
根据您的设备,您也许能够捕获图片,然后读取其中的 EXIF 数据。这可能会让您看到曝光(ISO 和快门速度)。这是 Tiny Light Meter 之类的应用程序的方法使用。问题是有些设备没有完全填充 EXIF 数据,因此这种方法是随机的。
关于android - 使用后置摄像头计算场景亮度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13144680/