C++ OpenCV:Introduction














































C++ OpenCV:Introduction



OpenCV Introduction: OpenCV is an open source computer vision library. It aims at enhancement of computer vision
and artificial intelligence by providing a solid infrastructure for everyone working in the
field. The library is written in C and C++ and runs under Linux, Windows, and Mac OS X.
The library has more than 2500 optimized algorithms, which includes a comprehensive set of
both classic and state-of-the-art computer vision and machine learning algorithms.
These algorithms can be used to detect and recognize faces, identify objects, classify human
actions in videos, track camera movements, track moving objects, extract 3D models of objects,
produce 3D point clouds from stereo cameras, stitch images together to produce a high
resolution image of an entire scene, find similar images from an image database, remove red
eyes from images taken using flash, follow eye movements, recognize scenery and establish
markers to overlay it with augmented reality, etc. OpenCV has more than 47 thousand people
of user community and estimated number of downloads exceeding 14 million. Header files of OpenCV: After installing all the files related to OpenCV, we install the header files.
Some of the commonly used header files are: 1. .../include/opencv2/opencv.hpp Calls header files for each OpenCV module.
Must be called every time in the beginning of the code. 2.#include "opencv2/core/core_c.h" For including new data structure and arithmetic routines. 3.#include "opencv2/flann/miniflann.hpp"
For approximating the nearest neighbour matching function. 4.#include "opencv2/imgproc/imgproc_c.h"
For old C image processing function. 5.#include "opencv2/imgproc/imgproc.hpp"
For new C++ image processing function. 6.#include "opencv2/video/photo.hpp"
They are used in algorithms specific to handling and restoring photograph. 7.#include "opencv2/video/video.hpp"
They are used in video tracking and background segmentation routines. 8.#include "opencv2/features2d/features2d.hpp"
It gives two dimensional feature tracking support. 9.#include "opencv2/objdetect/objdetect.hpp"
Has applications in Cascade face detector; latent SVM; HoG; planar patch detector 10.#include "opencv2/ml/ml.hpp" Has applications in machine learning. Mainly used in clustering, pattern recognition
etc. 11.#include "opencv2/calib3d/calib3d.hpp" For calibeartion and stereo. 12.#include "opencv2/highgui/highgui_c.h" Old C image display, sliders, mouse interaction, I/O 13.#include "opencv2/highgui/highgui.hpp" New C++ image display, sliders, buttons, mouse, I/O 14.#include "opencv2/contrib/contrib.hpp" User-contributed code: flesh detection, fuzzy mean-shift tracking, spin images,
self-similar features.

Comments