VIDIOC_QUERYMENU:参数无效

时间:2014-01-13 06:16:12

标签: c++ opencv

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

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

CODE:

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

提前致谢

3 个答案:

答案 0 :(得分:1)

我正在使用Ubuntu 12.04。 " VIDIOC_QUERYMENU:参数无效"使用OpenCv版本2.4.8时出现错误。我升级到OpenCv版本2.4.10并且错误消失了。

答案 1 :(得分:1)

我遇到了同样的问题,即使安装了opencv 2.4.10也无法解决。安装libqt4-dev后问题得到了解决。 这是命令:

sudo apt-get install libqt4-dev

答案 2 :(得分:0)

这可能与此问题有关:http://code.opencv.org/issues/3554