标签:常见问题 opencv UNCHANGED OpenCV SLAM2 usr 版本 error ORB
前言
orb_slam工程出了很长时间了,但是一直没有更新,这就导致他的一些代码并不适合一些高版本的依赖,比如opencv4.1等。本文主要解决编译orb_slam的过程中出现的一些问题,且如何将opencv的版本替换成opencv4.0以上的版本。
1.将opencv的版本替换成opencv4.0以上版本
修改ORB_SLAM2文件夹下的CMakeList.txt文件为
find_package(OpenCV 4 QUIET)
if(NOT OpenCV_FOUND)
find_package(OpenCV 2.4.3 QUIET)
if(NOT OpenCV_FOUND)
message(FATAL_ERROR "OpenCV > 2.4.3 not found.")
endif()
endif()
2. error: ‘CV_LOAD_IMAGE_UNCHANGED’ was not declared in this scope
这是由于opencv高版本弃用CV_LOAD_IMAGE_UNCHANGED这一参数导致的
解决方法:
将CV_LOAD_IMAGE_UNCHANGED
换成IMREAD_UNCHANGED
并在代码头文件下面添加命名空间using namespace cv;
3. error: ‘usleep’ was not declared in this scope usleep(3000);
解决方案:
在报错的文件里添加头文件
#include <unistd.h>
4. /usr/bin/ld: CMakeFiles/Stereo.dir/src/ros_stereo.cc.o: undefined reference to symbol ‘_ZN5boost6system15system_categoryEv’ /usr/lib/x86_64-linux-gnu/libboost_system.so: error adding symbols: DSO missing from command line
问题描述:
/usr/bin/ld: CMakeFiles/Stereo.dir/src/ros_stereo.cc.o: undefined reference to symbol '_ZN5boost6system15system_categoryEv'
/usr/lib/x86_64-linux-gnu/libboost_system.so: error adding symbols: DSO missing from command line
解决方案:
Cmakelist.txt文件里添加
target_link_libraries(Stereo boost_system boost_filesystem)
标签:常见问题,opencv,UNCHANGED,OpenCV,SLAM2,usr,版本,error,ORB 来源: https://blog.csdn.net/TengYun_zhang/article/details/96606346
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。