我正在尝试使用Android相机拍摄照片时获得相机快门速度。在应用程序创建的包含已拍摄照片的图像中使用此指令。
double level = exif.getAttributeDouble(ExifInterface;
TAG_SHUTTER_SPEED_VALUE, 0);这给出了一些根据亮度水平变化的值,例如,现在如果我允许自然光完全穿过我的窗户,它提供的值为6.906,如果我尽可能不允许它,它是3.882。
但另一方面,我使用这个应用程序来检查值的正确性,对于这些相同的情况,它提供了1/120和1/12的值,这似乎是一个标准格式来表示快门速度,如图所示。
我不能理解如果ExifInterface。TAG_SHUTTER_SPEED_VALUE是正确测量快门速度,但在其他我不知道如何转换的比例,或者如果它以错误的方式做,使用它不会有帮助。
谁能告诉我如何从它给出的值转换到1/x格式,或者告诉我它是否在测量任何其他东西?
TAG_SHUTTER_SPEED_VALUE单位为最高值。
不确定这个来源,但这是我找到的关于APEX值计算的唯一答案:https://www.dpreview.com/forums/post/54376235
ShutterSpeed = - log2 (ExposureTime)。
它匹配你的值:
-log2(1/120) = 6.907
-log2(1/12) = 3.585
无论如何,如果你正在寻找以秒为单位的曝光时间值,你可以直接读取TAG_EXPOSURE_TIME。