OpenCV is an open source computer vision library. It includes several hundreds of computer vision algorithms. The OpenCV 2.x API, which is essentially a C++ API, as opposite to the C-based OpenCV 1.x API. OpenCV has a modular structure. It includes the following modules -:
- core – a compact module defining basic data structures, including the dense multi-dimensional array
Matand basic functions used by all other modules.
- 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 – a video analysis module that includes motion estimation, background subtraction, and object tracking algorithms.
- calib3d – basic multiple-view geometry algorithms, single and stereo camera calibration, object pose estimation, stereo correspondence algorithms, and elements of 3D reconstruction.
- features2d – salient feature detectors, descriptors, and descriptor matchers.
- objdetect – detection of objects and instances of the predefined classes (for example, faces, eyes, mugs, people, cars, and so on).
- highgui – an easy-to-use interface to video capturing, image and video codecs, as well as simple UI capabilities.
- gpu – GPU-accelerated algorithms from different OpenCV modules.
Computer Vision and Image Processing
Computer Vision is one of the areas of Machine Learning which deals with images. In computer vision we have to derive useful information from the images.
Image Processing is the processing the image like converting to a grey colour and changing the shape of image etc. This processing of the image is done for some reason which is basically for any application of computer vision like one of the common example is to recognize digits.
So, for this image processing part of Machine Learning OpenCV is one of the most common and useful library for processing images with whole lots of modules and functions. Though it is implemented in C++, we can install it in Python and use it. We will see the installation in the next blog.
This is the introduction to OpenCV, will see the details in upcoming blogs.