The CImg Library is a small, open-source, and modern C++ toolkit for image processing
Clone or download
Latest commit 4f3a7d5 Oct 22, 2018
Failed to load latest commit information.
examples Final release 2.3.0 Jun 21, 2018
html . Oct 22, 2018
plugins Initial commit Jun 4, 2018
resources Add ''. Oct 10, 2018
.travis.yml Initial commit Jun 4, 2018
CImg.h . Oct 22, 2018
Licence_CeCILL-C_V1-en.txt Initial commit Jun 4, 2018
Licence_CeCILL_V2-en.txt Initial commit Jun 4, 2018 . Jun 4, 2018
README.txt Initial commit Jun 4, 2018


The CImg Library is a small and 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 CImg 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 able to 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, thread-safe and highly portable. It fully works on different operating systems (Unix,Windows,MacOS X,*BSD,...) and is compatible with various C++ compilers (Visual C++,g++,clang++,icc,...).

Simplicity CImg is lightweight. It is made of a single header file CImg.h that must be included in your C++ source. It defines only four different classes, encapsulated in the namespace cimg_library. It can be compiled using a minimal set of standard C++ and system libraries only. No need for exotic or complex dependencies.

Extensibility Although not mandatory, CImg can use functionalities of external tools/libraries such as Board, FFMPEG, FFTW3, GraphicsMagick, ImageMagick, Lapack, libcurl, libjpeg, libpng, libtiff, Magick++, OpenEXR, OpenCV, OpenMP or XMedCon. Moreover, a simple plug-in mechanism allows any user to directly enhance the library capabilities according to his needs.

Freedom CImg is a free, open-source library distributed under the CeCILL-C (close to the GNU LGPL) or CeCILL (compatible with the GNU GPL) licenses. It can be used in commercial applications.

CImg stands for Cool Image : It is easy to use, efficient and is intended to be a very pleasant toolbox to design image processing algorithms in C++. Due to its generic conception, it can cover a wide range of image processing applications.