skillfed

imutils

A series of convenience functions to make basic image processing functions such as translation, rotation, resizing, skeletonization, displaying Matplotlib images, sorting contours, detecting edges, and much more easier with OpenCV and both Python 2.7 and Python 3.

imutils v0.5.4 701.6K downloads/30d#5,291 on PyPI4,592
License unclear DORMANT released

What it is and what it does

imutils is a lightweight wrapper library that simplifies common image processing tasks by providing convenience functions for geometric transformations, morphological operations, and color space conversions. It was designed to reduce boilerplate when working with OpenCV in Python, offering functions like translate(), rotate(), resize(), skeletonize(), auto_canny(), and opencv2matplotlib() that abstract away matrix construction and parameter tuning.

The package is dormant: its last release was 2021-01-15, and it has not been actively maintained since. While the repository remains accessible and has accumulated 4592 stars, the lack of recent updates means it may not be compatible with current versions of its dependencies or modern Python environments. It has no known security vulnerabilities and no declared runtime dependencies, though it requires NumPy, SciPy, Matplotlib, and OpenCV to be installed separately.

Use it for:

  • Quickly rotate, translate, or resize images without manually constructing transformation matrices.
  • Automatically tune Canny edge detection parameters based on image statistics instead of manual threshold tuning.
  • Convert BGR images to RGB for correct display in Matplotlib without explicit color space conversion calls.
  • Skeletonize binary images to extract topological structure for shape analysis or feature extraction.
  • Search function names across modules when learning the library or migrating between versions.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

imutils provides convenience wrappers around OpenCV image processing operations—translation, rotation, resizing, skeletonization, edge detection, and Matplotlib display—to reduce boilerplate code.

No—install only if you are maintaining legacy code that already depends on imutils. The package is dormant (last release 2021-01-15), has unclear licensing, and requires external dependencies not declared in its metadata. For new projects, use the underlying libraries directly or consider actively maintained alternatives. The high install friction and lack of maintenance signal make it a poor choice for new development.

Install

imutils on PyPI

pip

pip install imutils

uv

uv add imutils

poetry

poetry add imutils

Installing imutils

Before you install

Installation friction is high: the package declares no runtime dependencies in its metadata, but the description states it requires NumPy, SciPy, Matplotlib, and OpenCV to be pre-installed. The package is dormant—last release was 2021-01-15, with no recent commits despite an active repository.

License in practice

License status is unclear: the package declares no license in its metadata. Before installing, verify the actual license by checking the repository directly, as this affects your ability to use and redistribute the code.

Quickstart

# Requires NumPy, SciPy, Matplotlib, OpenCV pre-installed
pip install imutils

import imutils

# Example: rotate an image
rotated = imutils.rotate(image, angle=90)

# Example: resize maintaining aspect ratio
resized = imutils.resize(image, width=300)

NumPy, SciPy, Matplotlib, and OpenCV must be installed separately before imutils can be used; imutils does not declare these as dependencies.

Verify before relying

  • Whether the package works reliably with modern Python versions given its dormant status and Python 2.7 heritage.
  • Current compatibility with recent OpenCV versions and whether breaking changes have occurred since the last 2021 release.
  • Whether the license is actually MIT, BSD, or another permissive license despite unclear metadata.

Package facts

License not declared (unclear)
Python support not specified
Install friction high — source build required
Runtime dependencies none
Maintenance dormant — 2,037 days since the last release
Last repo commit
First released
Downloads 701,572/month — #5,291 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: imutils-0.5.4.tar.gz

Keywords: computer vision, image processing, opencv, matplotlib

Tags

opencv convenience functionsimage translation rotation resizingopencv wrapper utilitiesimage processing helpersopencv boilerplate reductionskeletonization edge detectionmatplotlib opencv integration
opencv-wrapperdormantimage-processing

More Scientific/Engineering packages