c – VIDIOC_QUERYMENU:参数无效

我在Ubuntu 12.04上使用我内置的笔记本电脑摄像头

它在开始时工作正常,但现在它给了我不断的错误

码:

using namespace cv;
/** @function main */
int main(int argc, char** argv)
{

/// Read Video

VideoCapture cap(0); // open the default camera
    if(!cap.isOpened())  // check if we succeeded
    return -1;

Mat edges;
namedWindow("edges",1);
for(;;)
{
    Mat frame;
    cap >> frame; // get a new frame from camera
    cvtColor(frame, edges, CV_BGR2GRAY);
    GaussianBlur(edges, edges, Size(7,7), 1.5, 1.5);
    Canny(edges, edges, 0, 30, 3);
    imshow("edges", edges);
    if(waitKey(30) >= 0) break;
}

cv::waitKey(0);
return 0;
}

错误:

VIDIOC_QUERYMENU: Invalid argument
VIDIOC_QUERYMENU: Invalid argument
VIDIOC_QUERYMENU: Invalid argument
VIDIOC_QUERYMENU: Invalid argument
VIDIOC_QUERYMENU: Invalid argument
VIDIOC_QUERYMENU: Invalid argument
VIDIOC_QUERYMENU: Invalid argument
libv4l2: error turning on stream: Invalid argument
VIDIOC_STREAMON: Invalid argument

提前致谢

最佳答案 我使用的是Ubuntu 12.04.使用OpenCv版本2.4.8时出现“VIDIOC_QUERYMENU:无效参数”错误.我升级到OpenCv版本2.4.10并且错误消失了.

点赞