OpenCV (Open Source Computer Vision Library) is an open-source library that includes several hundreds of computer vision algorithms.
The document describes the so-called OpenCV 2.x API, which is essentially a C++ API, as opposed to the C-based OpenCV 1.x API (C API is deprecated and not tested with "C" compiler since OpenCV 2.4 releases)
OpenCV has a modular structure, which means that the package includes several shared or static libraries. The following modules are available:
* Core functionality (core) - a compact module defining basic data structures, including the dense multi-dimensional array Mat and basic functions used by all other modules.
* Image Processing (imgproc) - an image processing module that includes linear and non-linear image filtering, geometrical image transformations (resize, affine and perspective warping, generic table-based remapping), color space conversion, histograms, and so on.
* Video Analysis (video) - a video analysis module that includes motion estimation, background subtraction, and object tracking algorithms.
* 3d (3d) - basic multiple-view geometry algorithms, object pose estimation and elements of 3D reconstruction.
* 2D Features Framework (features2d) - salient feature detectors, descriptors, and descriptor matchers.
* Object Detection (objdetect) - detection of objects and instances of the predefined classes (for example, faces, eyes, mugs, people, cars, and so on).
* Camera Calibration (calib) - single and stereo camera calibration
- You can run them **through the swarmlab hybrid environment** (http://docs.swarmlab.io/SwarmLab-HowTos/swarmlab/docs/swarmlab/docs/hybrid/start-microservices.html)
- or use them individually at will on the **command line of your system**