The CImg Library is an open source, C++ toolkit for image processing, designed with these properties in mind :
Usefulness
CImg defines classes and methods to manage images in your own C++ code. You can use it to load/save various file formats, access pixel values, display/transform/filter images, draw primitives (text, faces, curves, 3d objects, ...), compute statistics, manage user interactions on images, and so on...
Genericity
CImg defines a single image class which can represent datasets having up to 4-dimensions (from 1d scalar signals to 3d hyperspectral volumetric images), with template pixel types (bool,char,int,float,...).
It also handles image collections and sequences.
Portability
CImg is self-contained and thus highly portable. It fully works on different operating systems (Unix,Windows,MacOS X,*BSD,...) and is compatible with various C++ compilers (Visual C++,g++,icc,...).
Simplicity
CImg is lightweight. It is made of a single header file CImg.h that must be i...