Download
DLib-1.0.2.tar.gz (2013-02-07, 68 KB)
Updates
Version 1.0.2: new util classes in all the packages.
Overview
DLib is a collection of C++ classes to solve common tasks in C++ programs, as well as to offer additional functionality to use OpenCV data and to solve computer vision problems.
I have found myself using these functions very often, so I hope they may be useful to other researchers and developers too.
License
DLib (DUtils, DUtilsCV, DVision) is published under a LGPL license.
Documentation
DLib is divided into 3 libraries for different purposes:
DUtils (documentation): utilities for several common C++ program requirements. It includes these classes:
- BinaryFile: reads/writes binary files
- LineFile: reads/writes text files by lines
- ConfigFile: reads/writes text files with the format key = value
- FileFunctions: mkdir, rmdir, dir... functionality
- Math: math functions
- Random: pseudo-random number functions
- STL: functions for STL containers
- StringFunctions: functions to manipulae strings
- Timestamp: operates with timestamps
- TimeManager: manages collections of timestamps
- Profiler: measures execution time of portions of code
- DebugFunctions: functions to measure memory consumption
DUtilsCV (documentation): utility functions for OpenCV data types. Classes included:
- Drawing: functions to draw keypoints, data, axes...
- GUI: shows images in windows and allows some user input
- IO: I/O functions for storage and printing
- Mat: functions to remove rows from matrices
- Transformations: functions to deal with spatial transformations
- Types: functions to convert between OpenCV data types
DVision (documentation): functions to solve computer vision tasks. Classes included:
- BRIEF: implementation of the BRIEF descriptor ([1]), with the modification described in [2]
- FSolver: implementation of the RANSAC + 8-point algorithm to compute fundamental matrices between images
- HSolver: implementation of the RANSAC + DLT algorithm to compute homographies between images
- ImageFunctions: functions to get patches from images
- SurfSet: manages SURF keypoints (keeping the laplacian sign) and descriptors
- BundleCamera: reads/writes camera files created by the Bundle software
- PMVSCamera, PatchFile, PLYFile: read/write data created by the PMVS software
- PixelPointFile, Matches: read/write multi-purpose pixel and 3D data files
Related publications
[1] Calonder M., Lepetit V., Strecha C. and Fua P.
BRIEF: Binary Robust Independent Elementary Features
11th European Conference on Computer Vision (ECCV)
[2] Dorian Gálvez-López, Juan D. Tardós
Real-Time Loop Detection with Bags of Binary Words
International Conference on Intelligent Robots and Systems, September 2011
[Bibtex]
[PDF]
@INPROCEEDINGS{GalvezIROS11, author={Galvez-Lopez, Dorian and Tardos, Juan D.}, booktitle={Intelligent Robots and Systems (IROS), 2011 IEEE/RSJ International Conference on}, title={Real-time loop detection with bags of binary words}, year={2011}, month={sept.}, volume={}, number={}, pages={51 -58}, keywords={}, doi={10.1109/IROS.2011.6094885}, ISSN={2153-0858} }