imageproc

Image processing operations for Rust, built on the image crate

Library
Cargo
v0.27.0
976stars
MIT License

Repository Health

Pre-computed score based on development activity, maintenance, community, maturity, and trend momentum.How we score it →
75/100Good
Development Activity72
Maintenance60
Community80
Maturity60
Momentum28

Technical Analysis

AI-assessed by reading the actual repository — architecture, code quality, innovation, and documentation.How we score it →
79/100Good
Architecture82
Code Quality84
Innovation76
Learning Curve74

imageproc is a Rust image processing library that builds on top of the popular image crate to provide a broad collection of computer-vision and image-manipulation operations. It covers filtering, edge and corner detection, morphology, geometric transformations, drawing, and feature extraction.

The crate is designed as a pure-Rust toolkit for tasks that go beyond simple decoding and encoding, giving developers building blocks for template matching, contour extraction, Hough transforms, HOG descriptors, and more.

What You Get

  • Filtering primitives including Gaussian, box, median, and separable convolutions
  • Edge, corner, and gradient detectors such as Canny and FAST
  • Drawing helpers for lines, shapes, and text on image buffers
  • Geometric transforms, warping, and affine/projective mapping
  • Feature and shape tools: contours, Hough transforms, HOG, and template matching

Common Use Cases

  • Preprocessing images for computer-vision and machine-learning pipelines
  • Detecting edges, corners, and contours in Rust applications
  • Drawing annotations, shapes, and text onto rendered images
  • Template matching and shape detection without pulling in OpenCV

Under The Hood

Architecture — imageproc is a flat but well-factored crate where each module in src/ implements a family of operations (filter, edges.rs, corners.rs, drawing, geometric_transformations.rs, hough.rs, hog.rs, template_matching.rs), all operating over the image crate’s buffer and pixel traits via shared abstractions in definitions.rs and map.rs. Tech Stack — Rust edition 2024 (MSRV 1.87) depending on image, nalgebra, num, itertools, rand, and approx, with optional rayon parallelism, ab_glyph text rendering, rustdct FFT, and sdl2 display features. Code Quality — The project is mature and actively maintained, with property-based testing utilities (proptest_utils.rs), a dedicated tests/ and benches/ layout, and extensive doc comments including KaTeX-rendered math. API Design — Functions are grouped by task with predictable naming and operate directly on image buffers, so users familiar with the image crate can adopt individual operations without learning a new object model.

Join founders buildingwith open source

Opinionated takes, migration guides, cost-saving tips, and insights from the open source ecosystem.

Subscribe on Substack
Join 750+ subscribers

Search