cvCaptureFromCAM()/ cvQueryFrame():禁用自动图像校正?

时间:2012-11-12 18:52:41

标签: opencv camera video-capture image-capture

我正在使用上面提到的两个OpenCV函数从我的网络摄像头中检索帧。没有设置其他属性,只使用默认参数运行。

在循环中读取帧时,我可以看到图像发生变化,亮度和对比度似乎会自动调整。它似乎肯定是OpenCV的一个操作,因为相机捕获的图像不会被改变和不断点亮。

那么如何禁用此自动更正?我找不到一个似乎能够做这项工作的房产。

2 个答案:

答案 0 :(得分:3)

您应该尝试使用这三个参数:

  

CV_CAP_PROP_BRIGHTNESS图像的亮度(仅适用于相机)   CV_CAP_PROP_CONTRAST图像对比度(仅适用于相机)   CV_CAP_PROP_SATURATION图像的饱和度(仅适用于相机)

尝试将它们全部设置为50.另外(如果没有帮助)尝试从documentation更改其他相机捕获参数。

答案 1 :(得分:0)

为了回答这个问题:OpenCV在这里有错误或过时。

  • 似乎不可能以相机的原始分辨率获取图像,它们总是640x480;通过设置宽度和高度属性将其强制为其他值也不会改变任何内容
  • 似乎不可能禁用自动图像校正,上面提到的属性似乎不起作用
  • 亮度/对比度属性似乎也没有效果 - 或者至少我找不到任何好的值或自动图像校正总是覆盖它们

总结一下:我不建议使用OpenCV进行更强大的图像捕获。