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++ libv4l2错误:设备上没有剩余空间_C++_Opencv_Camera_Runtime Error - Fatal编程技术网

C++ libv4l2错误:设备上没有剩余空间

C++ libv4l2错误:设备上没有剩余空间,c++,opencv,camera,runtime-error,C++,Opencv,Camera,Runtime Error,我有两个不同的照相机。我使用下面的简单代码,我得到一个错误。在这个网站上有一个类似的问题,但没有一个被接受的答案。错误消息是: libv4l2: error turning on stream: No space left on device VIDIOC_STREAMON: No space left on device OpenCV Error: Assertion failed (size.width>0 && size.height>0) in imshow,

我有两个不同的照相机。我使用下面的简单代码,我得到一个错误。在这个网站上有一个类似的问题,但没有一个被接受的答案。错误消息是:

libv4l2: error turning on stream: No space left on device
VIDIOC_STREAMON: No space left on device
OpenCV Error: Assertion failed (size.width>0 && size.height>0) in imshow, file 
/home/OpenCV/opencv-2.4.10/modules/highgui/src/window.cpp, line 269
代码:

VideoCapture cap(2); 
VideoCapture cap2(1); 

if(!cap.isOpened())  // check if we succeeded
{
    cout << "Webcam cannot open!\n" ;
    return -1;
}
if(!cap2.isOpened())  // check if we succeeded
{
    cout << "Webcam2 cannot open!\n" ;
    return -1;
}
namedWindow( "Window1", CV_WINDOW_AUTOSIZE );
namedWindow( "Window2", CV_WINDOW_AUTOSIZE );
for(;;)
{
    iKey = waitKey(5);
    if (iKey == ESC) {  break;  }
    cap >> frame;
    cap2 >> frame2;

    imshow("Window1", frame);
    imshow("Window2", frame2);
}

如果你得到低分辨率的帧,这个问题就会解决。下面的代码对我来说已经足够了

VideoCapture cap1 = VideoCapture(1);
VideoCapture cap2 = VideoCapture(2);

cap1.set(CV_CAP_PROP_FRAME_WIDTH, 300);
cap1.set(CV_CAP_PROP_FRAME_HEIGHT, 300);
cap2.set(CV_CAP_PROP_FRAME_WIDTH, 300);
cap2.set(CV_CAP_PROP_FRAME_HEIGHT, 300);

我在两个相邻的USB端口上安装了两个深度感应摄像头(USB),也遇到了同样的问题。他们在内部使用了相同的usb总线,而且太多了,所以我将其中一个端口切换到了usb 3.0端口(这是另一个总线),现在它可以工作了。

我没有usb 3.0端口:)
VideoCapture cap1 = VideoCapture(1);
VideoCapture cap2 = VideoCapture(2);

cap1.set(CV_CAP_PROP_FRAME_WIDTH, 300);
cap1.set(CV_CAP_PROP_FRAME_HEIGHT, 300);
cap2.set(CV_CAP_PROP_FRAME_WIDTH, 300);
cap2.set(CV_CAP_PROP_FRAME_HEIGHT, 300);