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 most easiest way to process
images. There are lots of in-built image processing functionalities which come with the MATLAB IDE which you can just drag and drop into your code. But it is not as efficient as you would expect for a real time image processing application. And it's not a free tool either.
On the other hand, OpenCV is a free open source library which allows you to process images efficiently. OpenCV together with C/C++ interface is designed with a strong focus on real time image procession applications. Learning OpenCV has become hardest way 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.
On the other hand, OpenCV is a free open source library which allows you to process images efficiently. OpenCV together with C/C++ interface is designed with a strong focus on real time image procession applications. Learning OpenCV has become hardest way 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.
AForge.NET is a open source C# framework which provides a convenient way of processing images. In terms of complexity and computational efficiency, AForge.NET stands in between that of OpenCV and MATLAB frameworks.
So, I think that it
is worthy to learn computer vision with OpenCV to get a better understanding about what you do. Therefore in this blog, basic image processing functions and computer vision applications written in OpenCV/C++ are presented with line by line explanations.