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.
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.
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.