我正在做一个项目,在这个项目中,我使用网络摄像头以不同的曝光值连续拍摄照片(以制作HDR图像流)。我一直在使用罗技C310相机,我一直在通过向命令行发送以下命令来设置曝光值:
"v4l2-ctl --set-ctrl=exposure_absolute=%d --device=/dev/video1",exposureValue
当我长时间设置一次曝光,然后再设置另一次曝光时,效果很好,但当我尝试连续拍摄3张照片时,每一张照片的曝光都没有太大变化。
我的相机的另一个问题是,在其最大曝光值为10000 (无论这是什么单位,我不知道),帧没有像我希望的那样曝光。
1)不断更改曝光值是否存在一些基本问题,使其无法在大多数网络摄像头上一致工作?
2)有没有人可以推荐的更适合拍摄高曝光照片的网络摄像头?
发布于 2013-03-10 05:42:54
exposure_absolute
的取值范围似乎与摄像头和驱动程序有关。大多数相机通过这个来表示曝光时间。如果exposure_absolute
已经达到最大值,请转到提高gain
。
这两种相机都可以用于曝光控制,但没有必要将它们分别放在一个备用相机上。有些摄像机提供两种模式或只提供其中一种模式,或者提供但忽略它们,因为它们只提供auto
模式。
因此,最兼容的方法是检查是否有手动模式,设置它并检查它是否被接受,应用exposure_absolute
并检查它是否被接受,否则尝试gain
,或者exposure_absolute
是否已经达到最大值。
录制视频时,还有另一个注意事项,因为较大的exposure_absolute
值会使曝光时间超出帧间隔,从而降低帧速率。应该对其进行测试,以确定何时应该使用gain
来保持恒定的帧速率。
还要注意的是,一些v4l2工具试图自己选择像素格式或分辨率,忽略v4l2-ctl
选择的像素格式或分辨率,并且一些罕见的相机倾向于在这种情况下重置其他参数。
https://stackoverflow.com/questions/12849971
复制相似问题