【图像检索】【Windoes】DBoW3在windoes11上的详细安装教程

【图像检索】【Windoes】DBoW3在windoes11上的详细安装教程

前言

githup::https://github.com/rmsalinas/DBow3
DBoW,通常指的是基于词袋(Bag of Words, BoW)模型的数据库或算法应用,尤其是在计算机视觉和机器学习领域。
DBoW3是一个用于图像检索和回环检测的高级库,它继承了DBoW2的优点并进一步进行了优化和改进。这个库特别因为被著名的ORB-SLAM系统采用而广受关注,尤其是在回环检测方面展现了其高效性和准确性。回环检测是SLAM(Simultaneous Localization and Mapping,即时定位与地图构建)中的一个重要环节,通过有效地识别出当前帧是否与过去的某一帧属于同一地点,可以帮助纠正SLAM过程中的位置估计错误,减少累积误差,进而提升整个系统的稳定性和准确性。由于其优秀的性能,DBoW3也被广泛应用于图片检索、场景识别等领域。
最近在windoes11上配置DBoW3运行环境时踩了很多坑,在这期间查阅了很多资料和博客,于是想对安装过程进行总结,方便自己反复查阅以及分享经验避免大家重复踩坑。

安装前的准备
安装Visual Studio,博主安装的是 Visual Studio 2019版本:

安装Cmake,博主安装的是Cmake 3.27.7版本:

安装git:


编译安装OpenCV

1.DBoW3库对OpenCV有依赖,安装OpenCV可以选择下载opencv直接使用【官网地址】或者源码自定义安装【参考博文】。
博主选择下载opencv4.8.0源码进行编译,具体的编译流程不在赘述,建议参考上述链接中博主的给出的参考博文,编译完成后在install文件夹内生成以下内容。

2.将install文件重命名为opencv(博主个人习惯),并拷贝到DBoW(博主建议)路径下:

3.打开opencv\OpenCVConfig.cmake文件,需要着重检查是否OpenCV_FOUND被设置成FALSE:

set(OpenCV_FOUND FALSE)

假设设置成FALSE需要设置成TRUE,否则将无法使用OpenCV库进行构建。

set(OpenCV_FOUND TRUE)


编译安装DBoW3

# 通过git下载DBoW3源码到合适的路径下,需要科学上网
git clone https://github.com/rmsalinas/DBow3.git

1.博主下载源码到DBoW路径下,在DBoW\DBoW3(个人下载路径)目录下创建一个build文件夹:

2.以管理员身份运行cmake软件,where is the source code是DBoW2的文件夹位置,where to build the binaries是编译DBoW2保存的文件夹位置(新建的build路径),在左下角点击Configure。

选择对应vs的版本(博主是vs2019),系统选择x64,最后点右下角Finish:

3.显示Configuring done后,点击generate,显示generating done,成功完成cmake编译:

可能的错误:因为没有找到OpenCV的lib库:

解决方式:在OpenCV_DIR位置设置正确的路径即可,博主的路径为DBoW\opencv\x64\vc16\lib:

4.点击open project,下用VS2019进入工程,配置好Release,X64,然后右键ALL_BUILD,点击生成:

也可以在build目录直接点击DBoW2.sln打开,是一样的效果

需要在以下内容中插入代码iostream头文件:

#if _WIN32
#include <cstdint>
// 插入,编译器无法识别std::xxx
#include <iostream> 
#endif


5.在DBoW\DBow3\build\bin\Release路径下,能够看到如下的DBoW2.lib和DBoW2.dll件,代表已经生成完成:


简单测试DBoW3

测试安装是否成功:

# 进入DBow3工程的\build\bin\Release目录下
cd E:\DBoW\DBow3\build\bin\Release
# 执行命令查看运行效果
demo_general.exe orb E:\DBoW\DBow3\utils\images\image0.png E:\DBoW\DBow3\utils\images\image1.png E:\DBoW\DBow3\utils\images\image2.png E:\DBoW\DBow3\utils\images\image3.png

解释demo_general.exe所需的参数:
参数1:特征点检测与描述类型(根据代码可以选择orb brisk等)
参数2:所选择的图片的路径(一个或者多个)

总结

尽可能简单、详细的介绍DBoW3的在windoes11下的安装流程以及解决了安装过程中可能存在的问题。后续会根据自己学到的知识结合个人理解讲解DBoW3的原理和代码。

参考:DBow3 开源项目使用教程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值