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

在树莓派上运行在windows上正确的程序,  报错:

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

Aborted

解决方法:

 方法一: 安装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等。

 

转载于:https://www.cnblogs.com/farewell-farewell/p/7138111.html

libration_cameraimu/libcalibration_cameraimu.so: undefined reference to `glPushMatrix' /usr/bin/ld: /home/lh/business_logic_modules/src/component_packages/calibration_manager/../../../mobile_robot_platform/ros2_ws/install/calibration_cameraimu/lib/calibration_cameraimu/libcalibration_cameraimu.so: undefined reference to `glBindTexture' /usr/bin/ld: /home/lh/business_logic_modules/src/component_packages/calibration_manager/../../../mobile_robot_platform/ros2_ws/install/calibration_cameraimu/lib/calibration_cameraimu/libcalibration_cameraimu.so: undefined reference to `KeyFrameDatabase::KeyFrameDatabase()' /usr/bin/ld: /home/lh/business_logic_modules/src/component_packages/calibration_manager/../../../mobile_robot_platform/ros2_ws/install/calibration_cameraimu/lib/calibration_cameraimu/libcalibration_cameraimu.so: undefined reference to `glTexParameteri' /usr/bin/ld: /home/lh/business_logic_modules/src/component_packages/calibration_manager/../../../mobile_robot_platform/ros2_ws/install/calibration_cameraimu/lib/calibration_cameraimu/libcalibration_cameraimu.so: undefined reference to `glEnd' /usr/bin/ld: /home/lh/business_logic_modules/src/component_packages/calibration_manager/../../../mobile_robot_platform/ros2_ws/install/calibration_cameraimu/lib/calibration_cameraimu/libcalibration_cameraimu.so: undefined reference to `glBegin' /usr/bin/ld: /home/lh/business_logic_modules/src/component_packages/calibration_manager/../../../mobile_robot_platform/ros2_ws/install/calibration_cameraimu/lib/calibration_cameraimu/libcalibration_cameraimu.so: undefined reference to `glPopMatrix' /usr/bin/ld: /home/lh/business_logic_modules/src/component_packages/calibration_manager/../../../mobile_robot_platform/ros2_ws/install/calibration_cameraimu/lib/calibration_cameraimu/libcalibration_cameraimu.so: undefined reference to `glDeleteTextures' /usr/bin/ld: /home/lh/business_logic_modules/src/component_packages/calibration_manager/../../../mobile_robot_platform/ros2_ws/install/calibration_cameraimu/lib/calibration_cameraimu/libcalibration_cameraimu.so: undefined reference to `glGetError' /usr/bin/ld: /home/lh/business_logic_modules/src/component_packages/calibration_manager/../../../mobile_robot_platform/ros2_ws/install/calibration_cameraimu/lib/calibration_cameraimu/libcalibration_cameraimu.so: undefined reference to `vtable for pangolin::HandlerScroll' /usr/bin/ld: /home/lh/business_logic_modules/src/component_packages/calibration_manager/../../../mobile_robot_platform/ros2_ws/install/calibration_cameraimu/lib/calibration_cameraimu/libcalibration_cameraimu.so: undefined reference to `pangolin::ShouldQuit()' /usr/bin/ld: /home/lh/business_logic_modules/src/component_packages/calibration_manager/../../../mobile_robot_platform/ros2_ws/install/calibration_cameraimu/lib/calibration_cameraimu/libcalibration_cameraimu.so: undefined reference to `glVertex3f' /usr/bin/ld: /home/lh/business_logic_modules/src/component_packages/calibration_manager/../../../mobile_robot_platform/ros2_ws/install/calibration_cameraimu/lib/calibration_cameraimu/libcalibration_cameraimu.so: undefined reference to `glLineWidth' /usr/bin/ld: /home/lh/business_logic_modules/src/component_packages/calibration_manager/../../../mobile_robot_platform/ros2_ws/install/calibration_cameraimu/lib/calibration_cameraimu/libcalibration_cameraimu.so: undefined reference to `pangolin::OpenGlMatrix::SetIdentity()' /usr/bin/ld: /home/lh/business_logic_modules/src/component_packages/calibration_manager/../../../mobile_robot_platform/ros2_ws/install/calibration_cameraimu/lib/calibration_cameraimu/libcalibration_cameraimu.so: undefined reference to `pangolin::glErrorString(unsigned int)' /usr/bin/ld: /home/lh/business_logic_modules/src/component_packages/calibration_manager/../../../mobile_robot_platform/ros2_ws/install/calibration_cameraimu/lib/calibration_cameraimu/libcalibration_cameraimu.so: undefined reference to `vtable for pangolin::Handler' /usr/bin/ld: /home/lh/business_logic_modules/src/component_packages/calibration_manager/../../../mobile_robot_platform/ros2_ws/install/calibration_cameraimu/lib/calibration_cameraimu/libcalibration_cameraimu.so: undefined reference to `cv::imshow(cv::String const&, cv::_InputArray const&)' /usr/bin/ld: /home/lh/business_logic_modules/src/component_packages/calibration_manager/../../../mobile_robot_platform/ros2_ws/install/calibration_cameraimu/lib/calibration_cameraimu/libcalibration_cameraimu.so: undefined reference to `glTexImage2D' collect2: error: ld returned 1 exit status gmake[2]: *** [CMakeFiles/calibration_manager_node.dir/build.make:333:calibration_manager_node] 错误 1 gmake[1]: *** [CMakeFiles/Makefile2:137:CMakeFiles/calibration_manager_node.dir/all] 错误 2 gmake: *** [Makefile:146:all] 错误 2 ---
最新发布
07-04
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值