【问题标题】:Setting frame size of QuickCam Pro 3000 with OpenCV?使用 OpenCV 设置 QuickCam Pro 3000 的帧大小?
【发布时间】:2013-12-03 21:59:00
【问题描述】:

我正在使用 OpenCV 2.4.6 通过我的旧 Logitech QuickCam Pro 3000 网络摄像头抓取图像。使用VideoCapture::set( CV_CAP_PROP_FRAME_WIDTH, ... ) 我无法设置宽度值(高度同上)。 set(...) 总是返回 false

正常吗?

P.S.我在 Linux (kubuntu) 上,它似乎使用 V4L。

【问题讨论】:

标签: c++ opencv webcam logitech


【解决方案1】:

您的相机似乎没有正确初始化。以下代码适用于我。

using namespace cv;

[...]

VideoCapture capture(0);
capture.set(CV_CAP_PROP_FRAME_WIDTH, width);
capture.set(CV_CAP_PROP_FRAME_HEIGHT, height);

我尝试了一下,发现了以下问题:

  1. 如果capture 未初始化,capture.set 返回 0。
  2. capture.set 如果相机忙(另一个进程正在使用它),则返回 0。

不保证调用VideoCapture::set 会将相机分辨率更改为您想要的分辨率。例如,对于我的 Logitech HD Pro Webcam C290,将分辨率设置为 640x480 和 1920x1080 即可。但是当我尝试 1024x768 时,VideoCapture::set 返回 true,但实际分辨率设置为 960x720。所以,在读取一帧后检查实际分辨率。

【讨论】:

  • 说实话,我完全按照你的建议做了。但是set() 在这两种情况下都返回 0。我会尽快尝试一些尖峰解决方案,以进行更多实验。也许我会尝试使用 Python 接口,这对于测试/原型设计会更有效。谢谢。
  • 好的,我用 Python 试过了,我认为相机“忙”。我重试然后它工作。我可以设置宽度、高度、亮度、饱和度、增益、对比度、曝光度,但不能 FPS。再次感谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-09-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-10-14
  • 1970-01-01
相关资源
最近更新 更多