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.
DLib is divided into 3 libraries for different purposes:
-
DUtils: utilities for several common C++ program requirements. It includes these classes:BinaryFile: reads/writes binary filesLineFile: reads/writes text files by linesConfigFile: reads/writes text files with the formatkey = valueFileFunctions: mkdir, rmdir, dir... functionalityMath: math functionsRandom: pseudo-random number functionsSTL: functions for STL containersStringFunctions: functions to manipulae stringsTimestamp: operates with timestampsTimeManager: manages collections of timestampsProfiler: measures execution time of portions of codeDebugFunctions: functions to measure memory consumption
-
DUtilsCV: utility functions for OpenCV data types. Classes included:Drawing: functions to draw keypoints, data, axes...GUI: shows images in windows and allows some user inputIO: I/O functions for storage and printingMat: functions to remove rows from matricesTransformations: functions to deal with spatial transformationsTypes: functions to convert between OpenCV data types
-
DVision: functions to solve computer vision tasks. Classes included:BRIEF: implementation of the BRIEF descriptorFSolver: implementation of the RANSAC + 8-point algorithm to compute fundamental matrices between imagesHSolver: implementation of the RANSAC + DLT algorithm to compute homographies between imagesImageFunctions: functions to get patches from imagesBundleCamera: reads/writes camera files created by the Bundle softwarePMVSCamera,PatchFile,PLYFile: read/write data created by the PMVS softwarePixelPointFile,Matches: read/write multi-purpose pixel and 3D data files