OpenCV – Overview

Computer Vision

Computer vision is a process by which we can understand the images and videos how they are stored and how we can manipulate and retrieve data from them. Computer Vision is the base or mostly used for Artificial Intelligence. Computer-Vision is playing a major role in self-driving cars, robotics as well as in photo correction apps.

OpenCV

OpenCV is the huge open-source library for the computer vision, machine learning, and image processing and now it plays a major role in real-time operation which is very important in today’s systems. By using it, one can process images and videos to identify objects, faces, or even handwriting of a human. When it integrated with various libraries, such as Numpuy, python is capable of processing the OpenCV array structure for analysis. To Identify image pattern and its various features we use vector space and perform mathematical operations on these features.

The first OpenCV version was 1.0. OpenCV is released under a BSD license and hence it’s free for both academic and commercial use. It has C++, C, Python and Java interfaces and supports Windows, Linux, Mac OS, iOS and Android. When OpenCV was designed the main focus was real-time applications for computational efficiency. All things are written in optimized C/C++ to take advantage of multi-core processing.
Look at the following images


from the above original image, lots of pieces of information that are present in the original image can be obtained. Like in the above image there are two faces available and the person(I) in the images wearing a bracelet, watch, etc so by the help of OpenCV we can get all these types of information from the original image.
It’s the basic introduction to OpenCV we can continue the Applications and all the things in our upcoming articles.
Applications of OpenCV: There are lots of applications which are solved using OpenCV, some of them are listed below



  • face recognition
  • Automated inspection and surveillance
  • number of people – count (foot traffic in a mall, etc)
  • Vehicle counting on highways along with their speeds
  • Interactive art installations
  • Anamoly (defect) detection in the manufacturing process (the odd defective products)
  • Street view image stitching
  • Video/image search and retrieval
  • Robot and driver-less car navigation and control
  • object recognition
  • Medical image analysis
  • Movies – 3D structure from motion
  • TV Channels advertisement recognition

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)

Image-Processing

Image processing is a method to perform some operations on an image, in order to get an enhanced image and or to extract some useful information from it.
If we talk about the basic definition of image processing then “Image processing is the analysis and manipulation of a digitized image, especially in order to improve its quality”.
Digital-Image :
An image may be defined as a two-dimensional function f(x, y), where x and y are spatial(plane) coordinates, and the amplitude of fat any pair of coordinates (x, y) is called the intensity or grey level of the image at that point.
In another word An image is nothing more than a two-dimensional matrix (3-D in case of coloured images) which is defined by the mathematical function f(x, y) at any point is giving the pixel value at that point of an image, the pixel value describes how bright that pixel is, and what colour it should be.
Image processing is basically signal processing in which input is an image and output is image or characteristics according to requirement associated with that image.
Image processing basically includes the following three steps:

  1. Importing the image
  2. Analysing and manipulating the image
  3. Output in which result can be altered image or report that is based on image analysis

How Does A Computer Read An Image?
Consider the below image:

We are humans we can easily make it out that is the image of a person who is me. But if we ask computer “is it my photo?”. The computer can’t say anything because the computer is not figuring out it all on its own.
The computer reads any image as a range of values between 0 and 255. For any color image, there are 3 primary channels -red, green and blue.



My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.