linux下在安装OpenCV的摄像头依赖库

来源:互联网 发布:js confirm 标题修改 编辑:程序博客网 时间:2024/05/29 17:45

OpenCV安装前需要将需要用到的依赖库先安装好然后在cmake再install,否则opencv不会将依赖库编译进去。如果没有安装V4L.dev调用摄像头会报

HIGHGUI ERROR: V4L/V4L2: VIDIOC_S_CROP”错误

HIGHGUI ERROR: V4L/V4L2: VIDIOC_S_CROPOpenCV Error: Assertion failed (size.width>0 && size.height>0) in imshow, file /home/pi/Documents/opencv-2.4.13/modules/highgui/src/window.cpp, line 261terminate called after throwing an instance of 'cv::Exception'  what():  /home/pi/Documents/opencv-2.4.13/modules/highgui/src/window.cpp:261: error: (-215) size.width>0 && size.height>0 in function imshowAborted
复制代码

解决方法:

 方法一: 安装v4l2ucp, v4l-utils 和 libv4l-dev.    对我来说没用。

 方法二: 在视频imshow图像前,增加判断语句      

复制代码
        while(true){             capture >>Image;         if(!Image.empty()){        imshow("Test",Image);        imwrite("test.jpg",Image);         }                          if(waitKey(10) >= 0)break;        }
复制代码

然后,  只报错第一行,  但是程序可以正常运行。

之后,有出现了这个问题,仔细查阅,发现原因为

val/v4l2等必要的依赖库安装在opencv之后,opencv库编译时没有编译进去

因此,应在安装了依赖库后,重新安装opencv,重新cmake、make、makeinstall等。


原创粉丝点击