【SLAM十四讲】使用视频运行 ORB | 您所在的位置:网站首页 › slam十四讲视频 › 【SLAM十四讲】使用视频运行 ORB |
myvideo练习 作业代码来源: 高博:slam1code:
链接:https://pan.baidu.com/s/1vHNZWlu7X5ex5LzMSnbtrQ 提取码:34v2 具体内容如下: myvideo文件夹的位置在: /ORB_SLAM2/Examples 其中:ORBvoc.txt文件就是DBoW2磁带的配置 myvideo.cpp修改 其位置在:/home/zhe/1/lianxi/1/ /ORB_SLAM2/Examples/myvideo/ // 参数文件与字典文件 // 如果你系统上的路径不同,请修改它(myvideo.yaml文件的属性的父文件夹/myvideo.yaml) string parameterFile = "/home/zhe/1/lianxi/1/ /ORB_SLAM2/Examples/myvideo/myvideo.yaml"; //ORBvoc.txt文件在/home/zhe/1/lianxi/1/ORB_SLAM2/Vocabulary下复制到自己的系统路径下 string vocFile = "/home/zhe/1/lianxi/1/ /ORB_SLAM2/Examples/myvideo/Vocabulary/ORBvoc.txt"; // 视频文件 string videoFile = "/home/zhe/1/lianxi/1/ /ORB_SLAM2/Examples/myvideo/myvideo.mp4";CMakeList.txt修改 其位置在:/home/zhe/1/lianxi/1/ /ORB_SLAM2/ 1.仿照单目来写,,单目对应程序如下 set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_SOURCE_DIR}/Examples/Monocular) add_executable(mono_tum Examples/Monocular/mono_tum.cc) target_link_libraries(mono_tum ${PROJECT_NAME})2.myvideo的修改为 set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_SOURCE_DIR}/Examples/Monocular/myvideo)//文件夹名 add_executable(myvideo Examples/Monocular/myvideo.cpp) target_link_libraries(myvideo ${PROJECT_NAME})修改后参照README.md来 编译运行(README.md所在位置:/home/zhe/1/lianxi/1/ORB_SLAM2) 注意非首次跑时,及运行下面编译时,先删除ORB_SLAM2;/ORB_SLAM2/Thirdparty/DBoW2和/ORB_SLAM2/Thirdparty/g2o下的三个build文件 chmod +x build.sh //赋予其权限 ./build.sh若报以下错误时 错误来源:myvideo.cpp找不到正确的来源修改如下 2.myvideo的修改为 set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_SOURCE_DIR}/Examples/myvideo)//文件夹名 add_executable(myvideo Examples/myvideo/myvideo.cpp) target_link_libraries(myvideo ${PROJECT_NAME})为了验证错误来源我分开编译后如下图所示: 利用源代码中所给方法编译结果如下图所示 编译时有时候会出现编译到55%左右卡住的情况,例如: 参考来源:使用摄像头或视频运行 ORB-SLAM2 SLAM14讲 第一次课后作业 其编译后的可执行文件所在 其中terminate called after throwing an instance of ‘cv::Exception’ terminate called after throwing an instance of 'cv::Exception' what(): OpenCV(3.4.14) /home/zhe/1/orb-slam/OpenCV 3.4.14/opencv-opencv-6dd4e87/modules/highgui/src/window.cpp:641: error: (-2:Unspecified error) The function is not implemented. Rebuild the library with Windows, GTK+ 2.x or Carbon support. If you are on Ubuntu or Debian, install libgtk2.0-dev and pkg-config, then re-run cmake or configure script in function 'cvNamedWindow'提示安装libgtk2.0-dev 和 pkg-config sudo apt-get install libgtk2.0-dev来解决,错误不变但是会出现窗口闪退 安装pkg-config 来源Ubuntu 16.04 下pkg-config的安装与简介 出现Makefile:696: recipe for target ‘install-recursive’ failed错误 需要重装opencv3.2安装链接:在ubuntu18.04中安装opencv_contrib-3.2.0采坑教程 后重新编译,运行即可解决如图1-7所示的错误,最终运行 ./myslam 结果如下 小结: 路径问题(即myvideo.cpp未找到正确的来源) 注意非首次编译时,应先删除ORB_SLAM2;/ORB_SLAM2/Thirdparty/DBoW2和/ORB_SLAM2/Thirdparty/g2o下的三个build文件 运行./myvideo时,缺少相应的配置以及版本不匹配问题 缺少libgtk2.0-dev 和 pkg-config有如上图1-6所示的错误,并且Map Viewer窗口也没有出现按照提示安装sudo apt-get install libgtk2.0-dev来后,原本错误还在并且会出现Map Viewer窗口闪退现象。 最好后是重装opencv重新编译运行解决上述问题。(在重新编译运行之前的三个build文件和myvideo可执行文件都要删除) |
CopyRight 2018-2019 实验室设备网 版权所有 |