Expand description

An image processing library based on the image crate.

Note that the image crate contains some image processing functions (including image resizing) in its imageops module, so check there if you cannot find a standard image processing function in this crate.


Functions for finding border contours within binary images.

Functions for manipulating the contrast of images.

Functions for detecting corners, also known as interest points.

Trait definitions and type aliases.

Functions for computing distance transforms - the distance of each pixel in an image from the nearest pixel of interest.

Helpers for drawing basic shapes on images.

Functions for detecting edges in images.

Functions for filtering images.

Geometric transformations of images. This includes rotations, translation, and general projective transformations.

Computational geometry functions, for example finding convex hulls.

Functions for computing gradients of image intensities.

Functions for creating and evaluating Haar-like features.

HoG features and helpers for visualizing them.

Line detection via the Hough transform.

Functions for computing integral images and running sums of rows and columns.

Functions for mapping over pixels, colors or subpixels of images.

Assorted mathematical helper functions.

Functions for computing morphological operators.

Functions for adding synthetic noise to images.

Pixel manipulations.

A 2d point type.

Utilities to help with writing property-based tests (e.g. quickcheck tests) for image processing functions.

Basic manipulation of rectangles.

Functions for finding and labelling connected components of an image.

An implementation of seam carving. Currently in a pretty rough state. See examples/seam_carving.rs for an example.

Statistical properties of images.

Functions for suppressing non-maximal values.

Functions for performing template matching.

An implementation of disjoint set forests for union find.

Utils for testing and debugging.


Panics if image dimensions do not match.

Panics if any pixels differ between the two input images.

Panics if any pixels differ between the two images by more than the given tolerance in a single channel.

Helper for defining greyscale images.

Helper for defining RGB images.

Helper for defining RGBA images.