commit | 8c794d5f6fcf6598418bb13d542fb694e6503a5b | [log] [tgz] |
---|---|---|
author | Austin Schuh <austin@peloton-tech.com> | Sun Mar 03 21:17:37 2019 -0800 |
committer | Austin Schuh <austin@peloton-tech.com> | Sun Mar 03 21:17:37 2019 -0800 |
tree | 52bbb1876142efc9d6c97fd9de168098c1ebb1cb |
Squashed 'third_party/cimg/' content from commit 4b66369 Change-Id: I7454d9107a08dba899fd4659731733049165ae0a git-subtree-dir: third_party/cimg git-subtree-split: 4b66369ab4e34a46119d6c43e9adce061bb40f4b
The CImg Library is a small and open-source C++ toolkit 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 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 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.
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.