An image processing library, based on the
image library.
A performant, well-tested, well-documented library with a consistent API, suitable for use as the basis of computer vision applications or graphics editors.
Maximum genericity over image storages or formats, or support for higher-dimensional images.
Functions in this library implicitly assume that pixels colors are
stored in a linear color space like RGB as opposed to a non-linear color
space such as sRGB.
If you are not familiar with gamma correction then this article contains an introduction and examples of color artefacts resulting from not using linear color spaces.
This library provides both single-threaded and multi-threaded variations of several functions by using rayon.
Depending on image size and the amount of work performed per pixel the parallel versions may not always be faster - we recommend benchmarking for your specific use-case.
rayon: enables multi-threaded versions of several functionstext: enables text drawingfft: enables phash and other functions that depend on the rustfft cratedisplay-window: enables the displaying of images (using imageproc::window) with
sdl2. SDL2 must be installed on the system before
building with this feature. For example:
# Ubuntu/Debian
sudo apt install libsdl2-dev
# macOS
brew install sdl2
On Windows, install SDL2 and ensure its library directory is available to the linker and its DLL
directory is included in PATH.
See CONTRIBUTING.md.
Overall
Maintained
Code review
crates.io
Latest release
Releases this year
(top 24 of 27)
306 followers · starred Nov 2019
629 followers · starred Sep 2026
1,865 followers · starred May 2020
514 followers · starred Jul 2025
An image processing library, based on the
image library.
A performant, well-tested, well-documented library with a consistent API, suitable for use as the basis of computer vision applications or graphics editors.
Maximum genericity over image storages or formats, or support for higher-dimensional images.
Functions in this library implicitly assume that pixels colors are
stored in a linear color space like RGB as opposed to a non-linear color
space such as sRGB.
If you are not familiar with gamma correction then this article contains an introduction and examples of color artefacts resulting from not using linear color spaces.
This library provides both single-threaded and multi-threaded variations of several functions by using rayon.
Depending on image size and the amount of work performed per pixel the parallel versions may not always be faster - we recommend benchmarking for your specific use-case.
rayon: enables multi-threaded versions of several functionstext: enables text drawingfft: enables phash and other functions that depend on the rustfft cratedisplay-window: enables the displaying of images (using imageproc::window) with
sdl2. SDL2 must be installed on the system before
building with this feature. For example:
# Ubuntu/Debian
sudo apt install libsdl2-dev
# macOS
brew install sdl2
On Windows, install SDL2 and ensure its library directory is available to the linker and its DLL
directory is included in PATH.
See CONTRIBUTING.md.
Overall
Maintained
Code review
crates.io
Latest release
Releases this year
(top 24 of 27)
306 followers · starred Nov 2019
629 followers · starred Sep 2026
1,865 followers · starred May 2020
514 followers · starred Jul 2025