使用OpenCV设置QuickCam Pro 3000的框架尺寸?

时间:2013-11-20 03:48:21

标签: c++ opencv webcam logitech

我使用OpenCV 2.4.6使用旧的Logitech QuickCam Pro 3000网络摄像头抓取图像。使用VideoCapture::set( CV_CAP_PROP_FRAME_WIDTH, ... )我无法设置宽度值(高度的标识符)。 set(...)始终返回false

这是正常的吗?

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

1 个答案:

答案 0 :(得分:1)

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

using namespace cv;

[...]

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

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

    如果capture.set未初始化,则
  1. capture会返回0。
  2. capture.set如果摄像头正忙则返回0(使用它的另一个进程)。
  3. 无法保证调用VideoCapture::set会将相机分辨率更改为所需的分辨率。例如,使用我的Logitech HD Pro网络摄像头C290,将分辨率设置为640x480和1920x1080。但是当我尝试1024x768时,VideoCapture::set返回true,但实际分辨率设置为960x720。因此,请在阅读完框架后检查实际分辨率。