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

If you're not sure about the file name format, learn more about wheel file names.

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

Uploaded CPython 3.7mWindows x86-64

File details

Details for the file pyDBoW3-0.2-cp37-cp37m-win_amd64.whl.

File metadata

  • Download URL: pyDBoW3-0.2-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 24.0 MB
  • Tags: CPython 3.7m, Windows x86-64
  • Uploaded using 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

File hashes

Hashes for pyDBoW3-0.2-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 c72b853f0cf0aa71f7059ebcd60e5e8fa22c6d0dedf0431a50c652aed440d3e8
MD5 1ae6638720cc9f58870991fdf957d9b0
BLAKE2b-256 4af723d16dd30de14d5112b32b1f3abf1a7745a96ced1aa1a5b46dabad3d4578

See more details on using hashes here.

Supported by

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