imageproc
Image processing operations
0.27.0
12M downloads/mo
#2770 most downloaded on crates.io
image-rs/imageproc
What this package is like to depend on
Last release 2 months ago
02 Jun 2026
Release timing varies
gaps range from 3 weeks to 1.9 years
Rarely documented
notes for 7 of 35 stable releases
1 version withdrawn
withdrawn after publishing
11 years old
36 releases · first in 2016
7 releases in the last 12 months
see the full history below
Release timeline
36 releases · Jan 2016 to Jun 2026Releases
latest 36-
0.27.002 Jun 2026Release notes
Open source →What's Changed
Bug fixes:
- Fix out-of-bounds reads in BRIEF by @Shnatsel in #778
- Fix u32 overflow in Kernel::new dimension check by @paolobarbolini in #777
Breaking changes:
- Rework of interpolation boundary behaviour by @Quickmarble in #769
warp*()functions: passProjectionby value by @Quickmarble in #773
Performance improvements:
- Bilateral speedup by @CattleProdigy in #766
New Contributors
- @Quickmarble made their first contribution in #769
- @CattleProdigy made their first contribution in #766
- @Shnatsel made their first contribution in #778
- @JakobZahn made their first contribution in #782
- @gbouv made their first contribution in #787
Full Changelog: v0.26.1...v0.27.0
Release notes
Open source →Bug fixes:
- Fix out-of-bounds reads in BRIEF by @Shnatsel in https://github.com/image-rs/imageproc/pull/778
- Fix u32 overflow in Kernel::new dimension check by @paolobarbolini in https://github.com/image-rs/imageproc/pull/777
Breaking changes:
- Rework of interpolation boundary behaviour by @Quickmarble in https://github.com/image-rs/imageproc/pull/769
warp*()functions: pass Projection by value by @Quickmarble in https://github.com/image-rs/imageproc/pull/773
Performance improvements:
- Bilateral speedup by @CattleProdigy in https://github.com/image-rs/imageproc/pull/766
-
0.26.201 May 2026Nothing published for this version
-
0.26.128 Feb 2026Release notes
Open source →Bug fixes:
- fix
compose::overlaypixel blending by @cospectrum in #754 - fix
compose::overlayboundary calculations by @cospectrum in #754 - fix
compose::replaceboundary calculations by @cospectrum in #754
Release notes
Open source →Bug fixes:
- fix
compose::overlaypixel blending by @cospectrum in https://github.com/image-rs/imageproc/pull/754 - fix
compose::overlayboundary calculations by @cospectrum in https://github.com/image-rs/imageproc/pull/754 - fix
compose::replaceboundary calculations by @cospectrum in https://github.com/image-rs/imageproc/pull/754
- fix
-
0.26.005 Jan 2026 withdrawnRelease notes
Open source →New features
- Add
AverageHashby @cospectrum - Add
PHashby @cospectrum in #709 - Make
hough::intersection_pointspublic by @theotherphil in #613 - Color Bilateral Filter by @ripytide in #606
- Parallel Pixel Maps by @ripytide in #602
- Add
filter_map_parallelby @ripytide in #642 - Add compose module and functions by @ripytide in #662
- Add rotation module and functions by @ripytide in #669
- Add
replace()andoverlay()functions by @ripytide in #666 - Expand
stetch_contrast()to color images also usingu8by @ripytide in #670 - Flood-fill by @tkallady in #684
- Implement Kapur's algorithm for binary thresholding (#696) by @o-tho in #699
- Add
rotate_about_center_no_cropto prevent pixel loss during image rotations by @Tikitikitikidesuka in #688
Performance improvements
Breaking changes
- Removed
filter3x3, useKernel+filter_clampedinstead - Add
deltaparameter toadaptive_thresholdby @Dantsz in #637 - Make external dependencies optional by @OrangeHoopla in #736
- MSRV v1.87 / 2024 Edition /
nalgebrav0.34 by @paolobarbolini in #748
Bug fixes
- fix
draw_filled_rectpanic for empty image by @cospectrum in #711 - fix
text_sizeby @cospectrum in #689 - rewrite
column_running_sumwith better safety by @cospectrum in #731 - Fix fast corner 9 algorithm by @LMJW in #680
- handle polygon draw case where start point equals end point by @fs-99 in #682
- Detailed error message for generic type parameter of find_contours_with_threshold (#694) by @sakird in #695
- fix integration tests by @bioinformatist in #739
Release notes
Open source →New features:
- Add
AverageHashby @cospectrum - Add
PHashby @cospectrum in https://github.com/image-rs/imageproc/pull/709 - Make
hough::intersection_pointspublic by @theotherphil in https://github.com/image-rs/imageproc/pull/613 - Color Bilateral Filter by @ripytide in https://github.com/image-rs/imageproc/pull/606
- Parallel Pixel Maps by @ripytide in https://github.com/image-rs/imageproc/pull/602
- Add
filter_map_parallelby @ripytide in https://github.com/image-rs/imageproc/pull/642 - Add compose module and functions by @ripytide in https://github.com/image-rs/imageproc/pull/662
- Add rotation module and functions by @ripytide in https://github.com/image-rs/imageproc/pull/669
- Add
replace()andoverlay()functions by @ripytide in https://github.com/image-rs/imageproc/pull/666 - Expand
stetch_contrast()to color images also usingu8by @ripytide in https://github.com/image-rs/imageproc/pull/670 - Flood-fill by @tkallady in https://github.com/image-rs/imageproc/pull/684
- Implement Kapur's algorithm for binary thresholding (#696) by @o-tho in https://github.com/image-rs/imageproc/pull/699
- Add
rotate_about_center_no_cropto prevent pixel loss during image rotations by @Tikitikitikidesuka in https://github.com/image-rs/imageproc/pull/688
Performance improvements:
- Improved
draw_text_mutperformance by @Icekey in https://github.com/image-rs/imageproc/pull/663
Breaking changes:
- Removed
filter3x3, useKernel+filter_clampedinstead - Add
deltaparameter toadaptive_thresholdby @Dantsz in https://github.com/image-rs/imageproc/pull/637 - Make external dependencies optional by @OrangeHoopla in https://github.com/image-rs/imageproc/pull/736
- MSRV v1.87 / 2024 Edition /
nalgebrav0.34 by @paolobarbolini in https://github.com/image-rs/imageproc/pull/748
Bug fixes:
- fix
draw_filled_rectpanic for empty image by @cospectrum in https://github.com/image-rs/imageproc/pull/711 - fix
text_sizeby @cospectrum in https://github.com/image-rs/imageproc/pull/689 - rewrite
column_running_sumwith better safety by @cospectrum in https://github.com/image-rs/imageproc/pull/731 - Fix fast corner 9 algorithm by @LMJW in https://github.com/image-rs/imageproc/pull/680
- handle polygon draw case where start point equals end point by @fs-99 in https://github.com/image-rs/imageproc/pull/682
- Detailed error message for generic type parameter of find_contours_with_threshold (#694) by @sakird in https://github.com/image-rs/imageproc/pull/695
- fix integration tests by @bioinformatist in https://github.com/image-rs/imageproc/pull/739
- Add
-
0.25.101 May 2026Nothing published for this version
-
0.25.019 May 2024Release notes
Open source →- Update changelog, rename scale_linear to stretch_contrast and edit docs for stretch_contrast and grayscale morphology operations
- Tweak template matching docs
Release notes
Open source →New features:
- Added functions
template_matching::match_template_with_maskandtemplate_matching::match_template_with_mask_parallelto support masked templates in template matching. - Added
L2variant to thedistance_transform::Normenum used to specify the distance function indistance_transfrom::distance_transformand several functions in themorphologymodule. - Added function
filter::laplacian_filterusing a 3x3 approximation to the Laplacian kernel. - Added function
stats::min_max()which reports the min and max intensities in an image for each channel. - Added support for grayscale morphology operators:
grayscale_(dilate|erode|open|close).
Breaking changes:
- Added
ThresholdTypeparameter tocontrast::threshold{_mut}to allow configuration of thresholding behaviour. To match the behaviour ofthreshold(image, thresh)fromimageproc 0.24, usethreshold(image, thresh, ThresholdType::Binary). - Changed the signature of
contrast::stretch_contrast{_mut}to make the output intensity range configurable. To match the behaviour ofstretch_contrast(image, lower, upper)fromimageproc 0.24, usestretch_contrast(image, lower, upper, 0u8, 255u8). - Changed input parameter to
convex_hullfrom&[Point<T>]toimpl Into<Vec<Point<T>>>. - Removed dependency on
convcrate and removed functionmath::cast. This replacesValueInto<K>trait bounds withInto<K>in many function signatures.
Bug fixes:
- Fix panic when drawing large ellipses.
- Fix
BresenhamLineIterpanic when using non-integer endpoints. - Fix text rendering for overlapping glyphs, e.g. Arabic.
- Fix Gaussian blur by normalising kernel values.
-
0.24.101 May 2026Nothing published for this version
-
0.24.016 Mar 2024Release notes
Open source →New features:
- Added BRIEF descriptors
- Added draw_antialiased_polygon
- Added draw_hollow_polygon, draw_hollow_polygon_mut
- Added contour_area
- Added match_template_parallel
- Made Contour clonable
- Re-export image crate and add image/default as default feature
Performance improvements:
- Faster interpolate_nearest
- Faster find_contours_with_threshold
- Faster approximate_polygon_do
- Faster rotating_calipers
Bug fixes:
- Stop window::display_image consuming 100% CPU on Linux
Breaking changes:
- Migrate text rendering from rusttype to ab_glyph
- Updated depenedencies
- Increased MSRV to 1.70
-
0.23.101 May 2026Nothing published for this version
-
0.23.010 Apr 2022 -
0.22.016 Nov 2020Nothing published for this version
-
0.21.012 Jul 2020Nothing published for this version
-
0.20.029 Feb 2020Nothing published for this version
-
0.19.215 Sep 2019Nothing published for this version
-
0.19.115 Sep 2019Nothing published for this version
-
0.19.025 Aug 2019Nothing published for this version
-
0.18.010 Feb 2019Nothing published for this version
-
0.17.025 Nov 2018Nothing published for this version
-
0.16.030 Sep 2018Nothing published for this version
-
0.15.026 Apr 2018Nothing published for this version
-
0.14.022 Feb 2018Nothing published for this version
-
0.13.003 Dec 2017Nothing published for this version
-
0.12.015 Oct 2017Nothing published for this version
-
0.11.024 Sep 2017Nothing published for this version
-
0.10.025 Aug 2017Nothing published for this version
-
0.9.019 Jun 2017Nothing published for this version
-
0.8.028 Apr 2017Nothing published for this version
-
0.7.007 Jan 2017Nothing published for this version
-
0.6.128 Dec 2016Release notes
Open source →- Fixed bug in draw_line_segment_mut when line extends outside of image bounds.
- Generalised connected_components to handle arbitrary equatable pixel types.
- Added support for drawing hollow and filled circles.
- Added support for drawing anti-aliased lines, and convex polygons.
- Added adaptive_threshold function.
-
0.6.007 May 2016 -
0.5.013 Apr 2016Nothing published for this version
-
0.4.005 Apr 2016Nothing published for this version
-
0.3.004 Mar 2016Nothing published for this version
-
0.2.014 Jan 2016Nothing published for this version
-
0.1.110 Jan 2016Nothing published for this version
-
0.1.010 Jan 2016Nothing published for this version