Python wrappers for DBoW3 library.
Project description
pyDBoW3
Ultra-fast Boost.Python interface for DBoW3
This repo was created in order to interface DBoW algorithm from python in another project EasyVision. It is being used for a simple topological SLAM implementation since OpenCV BowKMeansTrainer doesn’t work with binary features.
If you wish you use it on your own it is as easy as:
import pyDBoW3 as bow
voc = bow.Vocabulary()
voc.load("/slamdoom/libs/orbslam2/Vocabulary/ORBvoc.txt")
db = bow.Database()
db.setVocabulary(voc)
del voc
# extract features using OpenCV
...
# add features to database
for features in features_list:
db.add(features)
# query features
feature_to_query = 1
results = db.query(features_list[feature_to_query])
del db
This repository was created based on pyORBSLAM2 and ndarray to cv::Mat conversion on numpy-opencv-converter.
Get started
Windows
Prerequisites: * OpenCV * Python with Numpy and opencv-contrib-python * Boost >1.54 * cmake * Microsoft Visual Studio
To build Boost.Python, go to Boost root and run:
bootstrap.bat --prefix=/dir/to/Boost.Build
Then build Boost.Python like this:
/dir/to/Boost.Build/b2 --with-python threading=multi variant=release link=static
To build DBoW3, simply run build.bat file and then build solution folder in install/DBoW3/build and then the solution in build folder.
Currently there is no python package generation, so you could simply copy pyDBoW3.pyd and opencv_world*.dll files to your virtual environment.
Unix
Use build.sh to build build/pyDBoW.so, which you should then put on your PYTHONPATH.
Check .travis.yml for environment variables.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Hashes for pyDBoW3-0.2-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c72b853f0cf0aa71f7059ebcd60e5e8fa22c6d0dedf0431a50c652aed440d3e8 |
|
MD5 | 1ae6638720cc9f58870991fdf957d9b0 |
|
BLAKE2b-256 | 4af723d16dd30de14d5112b32b1f3abf1a7745a96ced1aa1a5b46dabad3d4578 |