Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 使用OpenCV设置QuickCam Pro 3000的框架尺寸?_C++_Opencv_Webcam_Logitech - Fatal编程技术网

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

C++ 使用OpenCV设置QuickCam Pro 3000的框架尺寸?,c++,opencv,webcam,logitech,C++,Opencv,Webcam,Logitech,我正在使用OpenCV 2.4.6用我的老罗技QuickCam Pro 3000网络摄像头抓取图像。使用VideoCapture::set(CV\u CAP\u PROP\u FRAME\u WIDTH,…)我无法设置宽度值(idem表示高度)设置(…)始终返回false 这正常吗 p.S.我使用的是Linux(kubuntu),它似乎使用的是V4L。您的相机似乎没有正确初始化。下面的代码适合我 using namespace cv; [...] VideoCapture capture(0

我正在使用OpenCV 2.4.6用我的老罗技QuickCam Pro 3000网络摄像头抓取图像。使用
VideoCapture::set(CV\u CAP\u PROP\u FRAME\u WIDTH,…)
我无法设置宽度值(idem表示高度)<代码>设置(…)始终返回
false

这正常吗


p.S.我使用的是Linux(kubuntu),它似乎使用的是V4L。

您的相机似乎没有正确初始化。下面的代码适合我

using namespace cv;

[...]

VideoCapture capture(0);
capture.set(CV_CAP_PROP_FRAME_WIDTH, width);
capture.set(CV_CAP_PROP_FRAME_HEIGHT, height);
我尝试了一下,发现了以下问题:

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

  • 不能保证调用
    VideoCapture::set
    会将相机分辨率更改为所需的分辨率。例如,使用我的Logitech HD Pro网络摄像头C290,将分辨率设置为640x480和1920x1080可以正常工作。但当我尝试1024x768时,
    VideoCapture::set
    返回true,但实际分辨率设置为960x720。所以,在阅读一帧后检查实际分辨率。

    可能重复的。说实话,我完全按照你的建议做了。但是
    set()
    在这两种情况下都返回了0。我会尽快尝试一个小尖峰解决方案,用它做更多的实验。也许我会尝试使用Python接口,它在测试/原型设计方面会更有效。谢谢。好的,我试过Python,我觉得相机“忙”。我试了一下,然后成功了。我可以设置宽度、高度、亮度、饱和度、增益、对比度、曝光,但不能设置FPS。再次感谢。