HIGHGUI ERROR: V4L/V4L2: VIDIOC_S_CROP解决方法

问题:

       最近在研究使用单目摄像头获取深度的问题,在用python写了个用摄像头拍照的程序后,运行,出现了如标题所示的报错:

HIGHGUI ERROR: V4L/V4L2: VIDIOC_S_CROP
OpenCV 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 261
terminate 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 imshow

在该博客中查到了解决办法:HIGHGUI ERROR: V4L/V4L2: VIDIOC_S_CROP错误解决方法

解决办法:

1.安装如下依赖:

sudo apt-get install libv4l-dev 

sudo apt-get install v4l2ucp

sudo apt-get install v4l-utils


2.安装如下依赖后重新安装opencv


安装opencv参照此篇文章:Opencv 2.4.9在Ubuntu下的配置安装

在曾经安装过opencv的电脑上,只需重新编译安装opencv即可,进入opencv的release文件夹,执行以下步骤:

cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..

make 

sudo make install

sudo ldconfig -v

重新安装opencv后,程序运行成功。


出现以上问题的原因是:

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

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值