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.
Metadata
Release files for pyDBoW3 0.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pyDBoW3-0.2-cp37-cp37m-win_amd64.whl | CPython 3.7 | CPython 3.7 pymalloc | Windows x86-64 | Details |
Release files / pyDBoW3-0.2-cp37-cp37m-win_amd64.whl
| Download URL | pyDBoW3-0.2-cp37-cp37m-win_amd64.whl |
|---|---|
| Size | 24.0 MB |
| Tags | CPython 3.7 CPython 3.7 pymalloc Windows x86-64 |
|
SHA-256 checksum How to use checksums |
c72b853f0cf0aa71f7059ebcd60e5e8fa22c6d0dedf0431a50c652aed440d3e8
|
|
BLAKE2b-256 checksum How to use checksums |
4af723d16dd30de14d5112b32b1f3abf1a7745a96ced1aa1a5b46dabad3d4578
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.2
|