Skip to main content

Python wrappers for DBoW3 library.

Project description

Documentation Status https://travis-ci.org/foxis/pyDBoW3.svg?branch=master https://codecov.io/gh/FoxIS/pyDBoW3/branch/master/graph/badge.svg https://img.shields.io/pypi/v/pyDBoW3.svg https://img.shields.io/pypi/l/pyDBoW3.svg https://img.shields.io/pypi/pyversions/pyDBoW3.svg https://img.shields.io/badge/STAR_Me_on_GitHub!--None.svg?style=social
https://img.shields.io/badge/Link-Document-blue.svg https://img.shields.io/badge/Link-API-blue.svg https://img.shields.io/badge/Link-Source_Code-blue.svg https://img.shields.io/badge/Link-Install-blue.svg https://img.shields.io/badge/Link-GitHub-blue.svg https://img.shields.io/badge/Link-Submit_Issue-blue.svg https://img.shields.io/badge/Link-Request_Feature-blue.svg https://img.shields.io/badge/Link-Download-blue.svg

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

This version

0.2

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

pyDBoW3-0.2-cp37-cp37m-win_amd64.whl (24.0 MB view hashes)

Uploaded CPython 3.7m Windows x86-64

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page