dbow3库的python包装器。
pyDBoW3的Python项目详细描述
Pydbow3
用于DBoW3的超快速boost.python接口
创建此repo是为了在另一个项目中与python中的dbow算法接口 EasyVision。它被用于一个简单的拓扑slam 由于opencv bowkmeanfilter不能使用二进制特性而实现。
如果您希望自己使用它,它非常简单:
importpyDBoW3asbowvoc=bow.Vocabulary()voc.load("/slamdoom/libs/orbslam2/Vocabulary/ORBvoc.txt")db=bow.Database()db.setVocabulary(voc)delvoc# extract features using OpenCV...# add features to databaseforfeaturesinfeatures_list:db.add(features)# query featuresfeature_to_query=1results=db.query(features_list[feature_to_query])deldb
此存储库是基于pyORBSLAM2和 ndarray到cv::mat在numpy-opencv-converter上的转换。
注意
- 在这些平台上测试:
- opencv 3.4.2.16
- Windows 10 MSVC 2017 x64
- Xenial和Python2.7,libboost 1.54(Autobuild和Travis)
- Xenial和Python3.5,libboost 1.54(Autobuild和Travis)
开始
窗口
先决条件: *开放简历 *带有numpy和opencv contrib python的python *提升>;1.54 *克马克 *Microsoft Visual Studio
要构建boost.python,请转到boost root并运行:
bootstrap.bat --prefix=/dir/to/Boost.Build
然后构建boost.python,如下所示:
/dir/to/Boost.Build/b2 --with-python threading=multi variant=release link=static
要构建dbow3,只需运行build.bat文件,然后在install/DBoW3/build中构建解决方案文件夹,然后 在build文件夹中。
目前没有python包生成,因此您可以简单地复制pyDBoW3.pyd和opencv_world*.dll文件 到你的虚拟环境。
Unix
使用build.sh构建build/pyDBoW.so,然后应该将其放在PYTHONPATH上。
检查环境变量.travis.yml。
注意
您可能需要为install/opencv/build运行sudo make install才能将其安装到系统上。