A Rust crate focused on generic image processing for a wide range of image formats and data types.
- Supported image data types:
u8,i8,u16,i16,u32,i32,u64,i64,f16,f32,f64 - Supported color types:
gray,rgb,rgba,hsv,cmyk,xyz - Read and write images of any supported type/color
- Easy to add new colors
- Generic image processing across data types using
Pixel - Composable operations using
Filter(with async support)
OpenImageIO is used to read/write images and supports:
TIFFJPEG/JFIFOpenEXRPNGHDR/RGBEICOBMPTargaJPEG-2000RMan ZfileFITSDDSSoftimage PICPNMDPXCineonIFFField3DPtexPhotoshop PSDWavefront RLASGIWebPGIF- A variety of RAW digital camera formats
ImageMagick can also be used in place of OpenImageIO.
This is not a pure Rust crate, if that's important to you then image is probably a better fit.
oiio- Enables I/O using OpenImageIO (default: enabled)
magick- Enables I/O using ImageMagick (default: disabled)
- Incompatible with the
oiiofeature
parallel:- Enables parallel image iterators (default: enabled)
mmap:- Enabled memory-mapped image data (default: enabled)
text:- Enables loading fonts and drawing text on images (default: enabled)
window:- Enables ability to draw images to a graphical window (default: disabled)
serialize:- Enables serde support for several data structures (default: disabled)
glfw-sys:- Builds
glfwwithglfw-sys(default: disabled)
- Builds
libOpenImageIO(optional)oiiofeature- Version >= 2.0
- Debian-based distros:
apt install libopenimageio-dev - macOS:
brew install openimageio
ImageMagick(optional)- Only required if
oiiois not being used - Debian-based distros:
apt install imagemagick - macOS:
brew install imagemagick
- Only required if
libGLFW3(optional)windowfeature- Debian-based distros:
apt install libglfw3-dev - macOS:
brew install glfw3