Appendix B. opencv_contrib

An Overview of the opencv_contrib Modules

The opencv_contrib repository is where most new user-generated content goes; it often contains more complete vision applications than you will find in OpenCV itself. It is composed of many modules that have no dependencies between them. Each module is required to have documentation, unit tests, and sample code, and many also have tutorials. Each module has to comply with all the other formatting, Buildbot tests, unit tests, and so on that OpenCV’s core modules have to pass. Each one is documented in the same way as regular OpenCV functions and thus together they form a fairly self-maintaining superset of more advanced computer vision capability, ready to be used.

The opencv_contrib directory is located at https://github.com/opencv/opencv_contrib and needs to be built separately from the main OpenCV library. You can find documentation for these modules (and the regular OpenCV modules) at the nightly build site. The content summary as of this writing appears next.

Contents of opencv_contrib

This following list gives an overview of all modules available inside the opencv_contrib repository as of this writing. These modules must be downloaded and built separately. If you do decide to build this repository, but do not want to build all of the functions, you can turn off building any given function by replacing <reponame> in the build code that follows with the name of the function.

$ cmake -D OPENCV_EXTRA_MODULES_PATH=<opencv_contrib>/modules 
  -D BUILD_opencv_<reponame>=OFF                              
  <opencv_source_directory>

The functions in opencv_contrib as of this writing are:

aruco
ArUco and ChArUco markers. Includes augmented reality ArUco markers and ChARUco markers (ArUco markers embedded inside the white areas of the checkerboard).
bgsegm
Background segmentation. Improved adaptive background mixture model and use for real-time human tracking under variable lighting conditions.
bioinspired
Biological vision. A biologically inspired vision model providing methods to minimize noise and luminance variance, handle transient event segmentation, and perform high-dynamic-range (HDR) tone mapping.
ccalib
Custom calibration. Patterns for 3D reconstruction, omnidirectional camera calibration, random pattern calibration, and multicamera calibration.
cnn_3dobj
Deep object recognition and pose. Uses Caffe deep neural net library to build, train, and test a CNN model of visual object recognition and pose.
contrib_world
opencv_contrib holder. contrib_world is the module that, when built, contains all other opencv_contrib modules. It may be used for the more convenient redistribution of OpenCV binaries.
cvv
Computer vision debugger. Simple code that you can add to your program that pops up a GUI allowing you to interactively and visually debug computer vision programs.
datasets
Data sets reader. Code for reading existing computer vision databases and samples of using the readers to train, test, and run using that data set’s data.
dnn
Deep neural networks (DNNs). This module can read in image-recognition networks trained in the Caffe neural network library and run them efficiently on CPU.
dnns_easily_fooled
Subvert DNNs. This code can use the activations in a network to fool the networks into recognizing something else.
dpm
Deformable part model. Felzenszwalb’s cascade with deformable parts object recognition code.
face
Face recognition. Face recognition techniques include Eigen, Fisher, and local binary pattern histograms (LBPH) methods.
fuzzy
Fuzzy logic in vision. Fuzzy logic image transform and inverse; Fuzzy image processing.
hdf
Hierarchical data storage. This module contains I/O routines for hierarchical data format; meant to store large amounts of data.
line_descriptor
Line segment extract and match. Methods of extracting, describing, and latching line segments using binary descriptors. One of the authors, Gary, built a robotic box handling company (Industrial Perception Inc.) out of a modification of this algorithm.
matlab
MATLAB interface. OpenCV MATLAB Mex wrapper code generator for certain OpenCV core modules.
optflow
Optical flow. Algorithms for running and evaluating deepflow, simpleflow, sparsetodenseflow, and motion templates (silhouette flow).
plot
Plotting. The plot module allows you to easily plot data in 1D or 2D.
reg
Image registration. Pixel-based image registration for precise alignment. Follows the paper by Richard Szeliski [Szeliski04].
rgbd
RGB depth processing module. Linemod 3D object recognition; fast surface normal, and 3D plane finding. 3D visual odometry.
saliency
Saliency API. Where humans would look in a scene. Has routines for static, motion, and “objectness” saliency.
sfm
Structure from motion. This module contains algorithms to perform 3D reconstruction from 2D images. The core of the module is a light version of Libmv.
stereo
Stereo correspondence. Stereo matching done with different descriptors: Census, CS-Census, MCT, BRIEF, and MV.
structured_light
Structured light use. How to generate and project gray code patterns and use them to find dense depth in a scene.
surface_matching
Point pair features. Implements 3D object detection and localization using multimodal point pair features.
text
Visual text matching. In a visual scene, detect text, segment words, and recognize the text!
tracking
Vision-based object tracking. Use and/or evaluate one of five different visual object tracking techniques.
xfeatures2d
Features2D extra. Extra 2D features framework containing experimental and paid 2D feature detector/descriptor algorithms: SURF, SIFT, BRIEF, Censure, Freak, LUCID, Daisy, and Self-similar.
ximgproc
Extended image processing. Includes structured forests, domain transform filter, guided filter, adaptive manifold filter, joint bilateral filter, and superpixels.
xobjdetect
Boosted 2D object detection. Uses a Waldboost cascade and local binary patterns computed as integral features for 2D object detection.
xphoto
Extra computational photography. Provides additional photo processing algorithms: color balance, denoising, and inpainting.
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset