The primary documentation for OpenCV is the HTML documentation that ships with the source code. In addition to this, the OpenCV Wiki and the older HTML documentation are available on the Web.
OpenCV ships with html-based user documentation in the …/opencv/docs subdirectory. Load the index.htm file, which contains the following links.
Contains data structures, matrix algebra, data transforms, object persistence, memory management, error handling, and dynamic loading of code as well as drawing, text and basic math.
Contains image processing, image structure analysis, motion and tracking, pattern recognition, and camera calibration.
Contains many clustering, classification and data analysis functions.
Contains user interface GUI and image/video storage and recall.
How to train the boosted cascade object detector. This is in the …/opencv/apps/HaarTraining/doc/haartraining.htm file.
The …/opencv/docs directory also contains IPLMAN.pdf, which was the original manual for OpenCV. It is now defunct and should be used with caution, but it does include detailed descriptions of algorithms and of what image types may be used with a particular algorithm. Of course, the first stop for such image and algorithm details is the book you are reading now.
OpenCV's documentation Wiki is more up-to-date than the html pages that ship with OpenCV and it also features additional content as well. The Wiki is located at http://opencvlibrary.SourceForge.net. It includes information on:
Another Wiki, located at http://opencvlibrary.SourceForge.net/CvAux, is the only documentation of the auxiliary functions discussed in "OpenCV Structure and Content" (next section). CvAux includes the following functional areas:
Stereo correspondence
View point morphing of cameras
3D tracking in stereo
Eigen object (PCA) functions for object recognition
Embedded hidden Markov models (HMMs)
This Wiki has been translated into Chinese at http://www.opencv.org.cn/index.php/%E9%A6%96%E9%A1%B5.
Regardless of your documentation source, it is often hard to know:
Which image type (floating, integer, byte; 1–3 channels) works with which function
Which functions work in place
Details of how to call the more complex functions (e.g., contours)
Details about running many of the examples in the …/opencv/samples/c/ directory
What to do, not just how
How to set parameters of certain functions
One aim of this book is to address these problems.