C++ – Fast Cross-Platform C/C++ Image Processing Libraries

c++cross-platformimage-processingperformance

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.

Best Solution

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.