cimg.cxx
v3.6.5
Published
The CImg Library is a small and open-source C++ toolkit for image processing; GREYC (2018).
Downloads
106
Maintainers
Readme

http://cimg.eu
The CImg Library is a small and open-source C++ library for image processing, designed with these properties in mind:
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...
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.
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,...).
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.
Although not mandatory, CImg can use functionalities of external tools/libraries such as FFMPEG, FFTW3, GraphicsMagick, ImageMagick, 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 their needs.
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.
Run:
$ npm i cimg.cxxAnd then include cimg.h as follows:
// main.cxx
#include "node_modules/cimg.cxx/cimg.h"
int main() { /* ... */ }And then compile with clang++ or g++ as usual.
$ clang++ main.cxx # or, use g++
$ g++ main.cxxYou may also use a simpler approach:
// main.cxx
#include <cimg.h>
int main() { /* ... */ }If you add the path node_modules/cimg.cxx to your compiler's include paths.
$ clang++ -I./node_modules/cimg.cxx main.cxx # or, use g++
$ g++ -I./node_modules/cimg.cxx main.cxxCImg 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. It is developed and maintained by the GREYC laboratory (Caen, France).
