系统代码包下载地址为github地址,论文为(Liu 等, 2023).
1 ORB-SLAM2基础问题
该算法是在ORB-SLAM2 的基础上进行改进的,编译过程可参考ORB-SLAM2的部署教程,此处不再赘述。除此之外,本人在部署过程中还遇到了其他问题,这里记录一下。
2 其他问题
error: #error PCL requires C++14 or above
参考这篇文章解释,使用C++14编译器,更改主目录下的CMakeLists.txt:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| ### 修改前 # Check C++11 or C++0x support include(CheckCXXCompilerFlag) CHECK_CXX_COMPILER_FLAG("-std=c++11" COMPILER_SUPPORTS_CXX11) CHECK_CXX_COMPILER_FLAG("-std=c++0x" COMPILER_SUPPORTS_CXX0X) if(COMPILER_SUPPORTS_CXX11) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") add_definitions(-DCOMPILEDWITHC11) message(STATUS "Using flag -std=c++11.")
### 修改后 # Check C++11 or C++0x support include(CheckCXXCompilerFlag) CHECK_CXX_COMPILER_FLAG("-std=c++11" COMPILER_SUPPORTS_CXX11) CHECK_CXX_COMPILER_FLAG("-std=c++0x" COMPILER_SUPPORTS_CXX0X) if(COMPILER_SUPPORTS_CXX11) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14") add_definitions(-DCOMPILEDWITHC11) message(STATUS "Using flag -std=c++14.")
|
修改完之后不再报错,可正常编译。
- 针对不同的输入图片,需要设置不同的通道变换方式,否则会报与数据通道相关的错误,如下图所示;修改方法为修改frame.cc 代码 392行附近的内容:

1 2 3 4 5 6 7
| cv::Mat imRGB_1; cv::cvtColor(imRGB.clone(), imRGB_1, CV_GRAY2BGR); cv::cvtColor(imRGB_1.clone(), Img_HSV, CV_BGR2HSV);
|
- 在VS Code 里对程序进行调试运行时,可能会报错:
