# imageproc [![crates.io](https://img.shields.io/crates/v/imageproc.svg)](https://crates.io/crates/imageproc) [![doc-badge]][doc-link] [![License](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/image-rs/imageproc/blob/main/LICENSE) [![Dependency status](https://deps.rs/repo/github/image-rs/imageproc/status.svg)](https://deps.rs/repo/github/image-rs/imageproc) An image processing library, based on the [`image`](https://github.com/image-rs/image) library. [API documentation][doc-link] [doc-badge]: https://docs.rs/imageproc/badge.svg [doc-link]: https://docs.rs/imageproc ## Goals A performant, well-tested, well-documented library with a consistent API, suitable for use as the basis of computer vision applications or graphics editors. ## Non-goals Maximum genericity over image storages or formats, or support for higher-dimensional images. ## Color Space 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 article]: https://blog.johnnovak.net/2016/09/21/what-every-coder-should-know-about-gamma/ ## Parallelism This library provides both single-threaded and multi-threaded variations of several functions by using [rayon](https://github.com/rayon-rs/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. ## Crate Features ### Default Features - `rayon`: enables multi-threaded versions of several functions - `text`: enables text drawing - `fft`: enables `phash` and other functions that depend on the `rustfft` crate ### Optional Features - `display-window`: enables the displaying of images (using `imageproc::window`) with [sdl2](https://github.com/Rust-SDL2/rust-sdl2) ## How to contribute See [CONTRIBUTING.md](CONTRIBUTING.md).