Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

840 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

imageproc

crates.io doc-badge License Dependency status

An image processing library, based on the image library.

API documentation

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.

Parallelism

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.

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. 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.

How to contribute

See CONTRIBUTING.md.

Releases

Packages

Used by

Contributors

Languages