views:

1556

answers:

7

What are some cross platform and high performance image libraries for image processing (resizing and finding the color/hue histograms). No gui needed. This is for C/C++.

So far I have looked in to

  • OpenCV
  • GIL as part of Boost
  • DevIL
  • CImg

My questions

  • How's the performance of the ones I have listed above
  • What are some other libraries

Your input much appreciated.

+6  A: 

imagemagick is quite popular.

CiNN
+4  A: 

OpenCV has quite good performance. It should be sufficient for most cases.

To improve performance, you can also use OpenCV together with Intel IPP, which is however a non-free commercial product. If OpenCV detects that IPP is installed it will use it where possible.

As a third option you can use IPP directly. IPP was designed with high performance (on Intel architectures) as a goal. It is optimized to use the intel SIMD instructions.

Dani van der Meer
+1  A: 

You might want to look at IM. It builds on several platforms, and has support for (modular) image file formats, a variety of image representations, and a wide array of transformations and operators. A GUI tool, IMLab, for demonstrating image processing operators based on the IM library is also available.

RBerteig
+1  A: 

There are also VTK and ITK, with a huge amount of manifold image processing algorithms.

mem64k
VTK and ITK are very solid dependable libraries, however in my experience I have found these highly templated libraries a bit laborious to work with. The 800 something page manual also is a bit daunting at first, however the algorithms included tend be from centers of research so are often state of the art. I cannot compare on performance thou, as I have no used any other library. I found it to OK.
Graham
+2  A: 

Oh please, for God's sake, whatever you do, don't forget to look at CxImage - I've used it professionally in globally deployed graphics intensive mobile phone applications, where it performed perfectly and it's so full of features. Do check it out!

Johann Gerell
The library seems pretty solid, but the development seems to be MIA. Last updated Feb 2008.
The Unknown
A: 

We used Accusoft for quite a while, but for very specific reasons we switched to LeadTools, which exists for windows only. Accusoft has a very clear and much more well defined interface than leadtools. Both libraries are very robust and both claim to read more or less all existing file types. Both also have quite responsive support.

RED SOFT ADAIR
A: 

There are also:

mloskot