CImg is a lightweight C++ toolkit for developing image-processing applications. It provides classes and methods for loading, saving, displaying, transforming, filtering and analysing images, while requiring only a single header file.
The library can represent datasets with up to four dimensions, ranging from one-dimensional signals to hyperspectral volumetric images. Its template-based design supports numerous pixel types, together with image collections and sequences.
This is free and open source software.
Key Features
- Distributed as a single C++ header file.
- Loads and saves images in numerous file formats.
- Accesses and manipulates individual pixel values.
- Transforms, filters and analyses image data.
- Displays images and manages interactive user input.
- Draws text, geometric primitives, curves and 3D objects.
- Computes image statistics and other measurements.
- Represents datasets with up to four dimensions.
- Supports templated pixel types, image collections and sequences.
- Self-contained, thread-safe and highly portable.
- Works with GCC, Clang, Visual C++ and other C++ compilers.
- Offers optional integration with FFmpeg, FFTW, ImageMagick, OpenCV, OpenEXR and other libraries.
- Provides a plug-in mechanism for extending its capabilities.
- Includes example programs and comprehensive API documentation.
Website: github.com/GreycLab/CImg
Support:
Developer: David Tschumperlé.
License: CeCILL-C Free Software License Agreement OR CeCILL Free Software License Agreement
CImg is written in C++. Learn C++ with our recommended free books and free tutorials.
Related Software
| Image Processing Libraries | |
|---|---|
| matplotlib | Python 2D plotting library |
| OpenCV | Library that includes several hundreds of computer vision algorithms |
| VIPS | Fast image processing library with low memory requirements |
| SciPy | Scientific Computing Tools for Python |
| Pillow | Fork of the Python Imaging Library |
| Pillow-SIMD | Highly optimized downstream Pillow fork |
| scikit-image | Collection of algorithms for image processing |
| ImageMagick | Uses multiple computational threads to increase performance |
| GraphicsMagick | Billed as the Swiss army knife of image processing. |
| GEGL | Generic Graphics Library |
| Mahotas | Library of fast computer vision algorithms |
| SimpleITK | Image analysis toolkit with a large number of components |
| Netpbm | Toolkit for manipulation of graphic images |
| LibGD | Library for the dynamic creation of images by developers |
Read our verdict in the software roundup.
Explore our comprehensive directory of recommended free and open source software. Our carefully curated collection spans every major software category.This directory is part of our ongoing series of informative articles for Linux enthusiasts. It features hundreds of detailed reviews, along with open source alternatives to proprietary solutions from major corporations such as Google, Microsoft, Apple, Adobe, IBM, Cisco, Oracle, and Autodesk. You’ll also find interesting projects to try, hardware coverage, free programming books and tutorials, and much more. Discovered a useful open source Linux program that we haven’t covered yet? Let us know by completing this form. |


Please read our Comment Policy before commenting.