Image Processing — using OpenCV
What is Image Processing?
Digital Image Processing (DIP) is a software which is used to manipulate the digital images by the use of a computer system. It is also used to enhance the images, to get some important information from it.
Image processing mainly includes the following steps:
- Importing the image via image acquisition tools.
- Analysing and manipulating the image.
- Output in which result can be altered image or a report which is based on analysing that image.
What is an Image?
An image is nothing more than a two-dimensional signal. It is defined by the mathematical function f(x,y) where x and y are the two co-ordinates horizontally and vertically.
The value of f(x,y) at any point gives the pixel value at that point of an image.
What is Computer Vision?
Computer Vision is the process of using machines to understand and analyze imagery (both photos and videos). Computer vision’s goal is not only to see but also process and provide useful results based on the observation.
A classical application of computer vision is face recognition. The software identifies 80 nodal points on a human face. In this context, nodal points are endpoints used to measure variables of a person’s face, such as the length or width of the nose, the depth of the eye sockets and the shape of the cheekbones. A facial recognition system uses biometrics to map facial features from a photograph or video.
What is OpenCV?
OpenCV (Open Source Computer Vision) is a library of programming functions mainly aimed at real-time computer vision. Originally developed by Intel, it was later supported by Willow Garage. The library is cross-platform and open-sourced to use.
OpenCV Functionality
- Image/video I/O, processing, display (core, imgproc, highgui)
- Object/feature detection (objdetect, features2d, nonfree)
- Geometry-based monocular or stereo computer vision (calib3d, stitching, videostab)
- Computational photography (photo, video, superres)
- Machine learning & clustering (ml, flann)
- CUDA acceleration (gpu)
Summary
Computer vision deals with developing a system in which the input is an image and the output is some information. On this image, one needs to do processing using OpenCV to generate useful information.