OpenCV Structure and Content
OpenCV is broadly structured into five main components, four of which are shown in Figure 1-5. The CV component contains the basic image processing and higher-level computer vision algorithms; ML is the machine learning library, which includes many statistical classifiers and clustering tools. HighGUI contains I/O routines and functions for storing and loading video and images, and CXCore contains the basic data structures and content.

Figure 1-5. The basic structure of OpenCV
Figure 1-5 does not include CvAux, which contains both defunct areas (embedded HMM face recognition) and experimental algorithms (background/foreground segmentation). CvAux is not particularly well documented in the Wiki and is not documented at all in the …/opencv/docs subdirectory. CvAux covers:
Eigen objects, a computationally efficient recognition technique that is, in essence, a template matching procedure
1D and 2D hidden Markov models, a statistical recognition technique solved by dynamic programming
Embedded HMMs (the observations of a parent HMM are themselves HMMs)
Gesture recognition from stereo vision support
Extensions to Delaunay triangulation, sequences, and so forth
Stereo vision
Shape matching with region contours
Texture descriptors
Eye and mouth tracking
3D tracking
Finding skeletons (central lines) of objects in a scene
Warping intermediate views between two camera views
Background-foreground ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access