Python wrappers for DBoW3 library.
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
- Tested on these platforms:
- OpenCV 126.96.36.199
- Windows 10 msvc 2017 x64
- xenial with Python 2.7, libboost 1.54 (autobuild with travis)
- xenial with Python 3.5, libboost 1.54 (autobuild with travis)
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:
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.
Use build.sh to build build/pyDBoW.so, which you should then put on your PYTHONPATH.
Check .travis.yml for environment variables.
You will probably need to run sudo make install for install/opencv/build to install it on your system.
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
|Filename, size||File type||Python version||Upload date||Hashes|
|Filename, size pyDBoW3-0.2-cp37-cp37m-win_amd64.whl (24.0 MB)||File type Wheel||Python version cp37||Upload date||Hashes View|
Hashes for pyDBoW3-0.2-cp37-cp37m-win_amd64.whl