我在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
提前致谢
答案 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