OpenCV libraries

Before we start developing any computer vision programs, it deserves efforts and times to search and select proper image processing libraries. One of the prorgammers developing IM, a handy and very well encapsulated and resusable image processing library, compared theirs with other famous libraries including OpenCV and VTK at 1. I reviewed it with my personal opinions in the folowing.


At the end of the above page located under “Comparison” paragraph they mentioned several points. However, I have a little different point of view specifically regarding OpenCV based on my years of experiences.

They mentioned:

  • The idea behind IM was to create a toolkit that was not so complex as OpenCV, neither so big as VTK, but that can be used as a solid base to the development of thesis and dissertations, as for commercial applications.

I agree that VTK is a really big tool. It is big and was big even a few years ago when I first found them. However the real reason that I did not choose their libraries is because they are computer graphic libraries, not computer vision libraries. Computer graphic is the image generated by computers to simulate or represent the imaginary figure in our mind. Computer vision is the research area to give a power to computer to understand the natural scene as humans do or even better than. Please check the OpenCV case here 2. You can easily understand that why IM developers said that OpenCV is the computer vision specialized libraries while calling theirs image processing libraries.

  • Although OpenCV has many resources, its code is very hard to reuse. The simplicity of the IM code, mainly the image processing routines, make it a good reference to be reused by other applications extracting only the code needed with little changes. And can be used as an complement to learn image processing algorithms and techniques.

In many cases, I believe, the resources like the practical examples, the forum and real users' Q&A lists play very important roles. OpenCV comes with these three factors. They provides extensive libraries with the actual examples that are prepared to run immediately for practical purposes. Their forum 3 is the place where you can meet computer vision experts over the world. Finally, you can search through tens of thousands Q&A lists covering extensive various kinds of problems that you might struggle to solve.

Anyway, I understand that IM can attract to many normal users due to their simplicity. However, we are handling very challenging problems and I wish to use the best resources we can take benefits of. If you are using IM because they supports more file formats that OpenCV is not directly covering, then I would like to introduce the FreeImage project 4. They are simple and handy to include together with OpenCV libraries and support really MANY image files 5.