【问题标题】:Ways to set exposure on webcams reliably?可靠地设置网络摄像头曝光的方法?
【发布时间】:2012-10-11 23:11:00
【问题描述】:

我正在开展一个项目,我使用网络摄像头以不同的曝光值连续拍摄照片(以制作 HDR 图像流)。我一直在使用罗技 C310 相机,并且通过将以下内容发送到命令行来设置曝光值:

"v4l2-ctl --set-ctrl=exposure_absolute=%d --device=/dev/video1",exposureValue

当我将它设置为一个曝光很长时间,然后另一个曝光时效果很好,但是当我尝试连续拍摄 3 帧时,每帧的曝光变化不大。

我的相机的另一个问题是,在其最大曝光值为 10000(我不知道这是什么单位)时,帧没有像我希望的那样曝光。

1) 不断改变曝光值是否存在一些基本问题,会阻止它在大多数网络摄像头上始终如一地工作?

2) 是否有任何人都可以推荐的更适合拍摄高曝光照片的网络摄像头?

【问题讨论】:

  • 嗨,我有任务。但我正在使用opencv。但我没有找到任何解决方案来获得不同的曝光图像。您能否使用 v4l API 分享您的代码。谢谢

标签: webcam


【解决方案1】:

exposure_absolute 的值范围似乎是特定于相机和驱动程序的。大多数相机由此意味着曝光时间。许多相机还提供gain 参数,该参数控制电子放大,就像数码相机上的 ISO 设置一样。如果exposure_absolute 已经被刷爆,请继续提高gain

两者都可以结合使用进行曝光控制,但在任意相机上不需要它们各自存在。有些相机同时提供或仅提供其中之一,或提供但忽略它们,因为它们仅提供auto 模式。

所以最兼容的方法是检查是否有手动模式,设置它并检查它是否被接受,应用exposure_absolute并检查它是否被接受,否则尝试gain或者如果exposure_absolute是已经用完了。

录制视频时,还有一个警告,因为较大的 exposure_absolute 值会使曝光时间超过帧间隔,从而降低帧速率。应该对此进行测试以确定何时应该使用gain 来保持恒定的帧速率。

另外请注意,一些 v4l2 工具会尝试自行选择像素格式或分辨率,而忽略 v4l2-ctl 选择的那些,并且一些罕见的相机往往会在这种情况下重置其他参数。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-21
    • 2013-12-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多