以时间单位查找网络摄像头的曝光持续时间?

Finding exposure duration of a webcam in time units?

我目前正在试验 HDR 捕获,并通过 python 通过 OpenCV 使用罗技 C920。迄今为止,我遇到的所有相机校准算法都需要图像曝光的实际持续时间或至少不同曝光时间之间的已知比率。不幸的是,在 OpenCV (CAM_PROP_EXPOSURE) 中为 C920 设置曝光时间时,我所拥有的只是一个整数范围 [-11 到 -2],没有单位指示。

是否有低级别 API 或实用程序可以用来探测相机以找到相应的持续时间(以秒为单位)?

解决了 - 事实证明 OpenCV 在相机后端通过 DirectShow 并且根据相应的文档ICameraControl::get_Exposure神秘值正在对曝光持续时间进行编码:

pValue

Receives the exposure time, in log base 2 seconds. If the value is n, the exposure time is 2^n seconds.

虽然负数的对数毫无意义而且我猜一定是错误,但第二部分大约 2^n 秒似乎是可信的。这将使 -2 为 1/4 秒,-11 为 1/2048 秒,每个整数步的曝光时间 doubling/halving。