OpenCV tutorial Python or C++

Image processing is the process of manipulating image data in order to make it suitable for computer vision applications or to make it suitable to present it to humans. For example, changing brightness or contrast is an image processing task which makes the image visually pleasing for humans or suitable for further processing for a certain computer vision application.

Computer vision which goes beyond image processing helps to obtain relevant information from images and make decisions based on that information. In other words, computer vision is making the computer see as humans do. Basic steps for a typical computer vision application as follows.

     Image acquisition
     Image manipulation
     Obtaining relevant information
     Decision making
If you are new to computer vision, you may be wondering where to start. First, you have to understand the basic principles of image processing and computer vision. Then you have to choose a suitable language to develop your computer vision application. Some of the most popular methods are using OpenCV with C/C++, MATLAB and AForge. If you don't really know why you would choose one over the other, here is my explanation.

MATLAB is the easiest and the inefficient way to process images and OpenCV is the most efficient and hardest way to process images. AForge has qualities in between OpenCV and MATLAB.

OpenCV has become hardest only because there is no proper documentation and error handling codes.  But OpenCV has lots of basic inbuilt image processing functions so that those who want to learn computer vision can develop their applications through proper understanding about what they do. 

So, I think that it is worthy to learn computer vision with OpenCV. Therefore in this blog, it is presented basic image processing functions and computer vision applications with line by line explanations.