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

Finding exposure duration of a webcam in time units?

我目前正在试验 HDR 捕捉,并通过 Python 通过 OpenCV 使用 Logitech 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 秒,每个整数步长的曝光时间加倍/减半。