网站服务器速度对seo有什么影响,视觉传达工资一般多少,简述企业网站的建设流程,惠州做网站公司0.前言
最近读了两篇论文#xff0c;论文作者开源了一种基于词袋模型DBoW2库的DLoopDetector算法#xff0c;自己运行demo测试一下 对应论文介绍#xff1a;Bags of Binary Words for Fast Place Recognition in Image Sequences 开源项目Github地址#xff1a;https://gi…0.前言
最近读了两篇论文论文作者开源了一种基于词袋模型DBoW2库的DLoopDetector算法自己运行demo测试一下 对应论文介绍Bags of Binary Words for Fast Place Recognition in Image Sequences 开源项目Github地址https://github.com/dorian3d/DLoopDetector
测试系统为Ubuntu18.04OpenCV 3.2.0
1.编译项目
编译过程中还是遇到了一些小问题的主要是在cmakelists.txt上
根据Github上的介绍要提前安装依赖
$ sudo apt-get install libboost-dev将源码文件下载到本地根目录我这里下载的是release版本中的v1.1-free解压缩后只保留前面项目的名字即可
进入文件夹中找到CMakelists.txt打开后发现从第32行开始可以看出作者的意图是不需要提前安装DBoW2和DLib两个库在build MakeFile文件时会自动安装编译那这里就不需要提前安装了
第62行进入了一个if判断说明要编译的是Demobrief.cpp
# 第62行add_executable(demo_brief demo/demo_brief.cpp)target_link_libraries(demo_brief ${OpenCV_LIBS} ${DLib_LIBS} ${DBoW2_LIBS})所以回到第5行将后面的OFF切换成ON
option(BUILD_DemoBRIEF Build demo application with BRIEF features ON)CMakelists.txt文件中大概就是这样子保存后回到项目文件夹打开终端
$ mkdir build
$ cd build/
$ cmake ..结束后终端会弹出这两句说明你之前电脑中确实没有安装过
DLib library not found in the system, it will be downloaded on build
DBoW2 library not found in the system, it will be downloaded on build如果你像我一样提前安装了可以卸载掉毕竟这两个库我平时不用 卸载方法去usr/local/include 和 usr/local/lib 中找到相关文件rm -rf还要去usr/local/lib/cmake下去删除config.cmake配置文件否则find_package会得到一个空文件一直报错 得到MakeFile文件后进行make编译:
$ make我遇见的问题是这样的
通过查看爆红提示可以看到是编译cpp文件的时候找不到DBoW2.h这个头文件我们先去项目中找一下DBoW2词袋库是否安装成功了通过locate查找发现在这个路径下是有的/DLoopDetector/build/dependencies/install/include/DBoW2
以防万一还是要看一下config.cmake中有没有问题
$ cd DLoopDetector/build/dependencies/install/lib/cmake/DBoW2
$ gedit DBoW2Config.cmake查看一下找的路径确实没问题头文件和库文件都存在的
最后没找到什么好办法于是我想到是不是顺序有问题于是重新
$ cmake ..
$ make竟然成功了…build文件夹下出现了demo_brief可执行程序
运行缺少resources数据看到也有人遇到了这个问题https://github.com/dorian3d/DLoopDetector/issues/14
下载链接https://drive.google.com/uc?exportdownloadid1MpZwPjXDAUxKfSTpeCjG0PAUpaeWuo7D
下载好后直接放到build下面与demo_brief同一个位置运行