color-matcher
Package enabling color transfer across images
What it is and what it does
color-matcher is a Python library for transferring color characteristics from one image to another. It implements multiple color-matching algorithms—Reinhard's method, Monge-Kantorovich Linearization (MKL), and a Multi-Variate Gaussian Distribution (MVGD) transfer combined with histogram matching—to automatically recolor images while preserving their structure and detail. The library is designed for photography color grading, film sequence correction, light-field processing, and stop-motion work.
The package depends on numpy for numerical operations, matplotlib for visualization, imageio for image I/O, and several utility libraries (ddt, docutils, packaging). It requires Python 3 or later and installs as a pure Python wheel with low friction. The codebase is actively maintained and has accumulated 663 stars on GitHub, indicating reasonable adoption in the image-processing community.
Use it for:
- Automatic color grading of photograph batches to match a reference image's color palette.
- Correcting color casts in film sequences or video frames for consistent look across shots.
- Light-field image processing where color consistency across viewpoints is needed.
- Stop-motion animation color correction to match lighting and color tone across frames.
- Recoloring paintings or artwork to match a target aesthetic or historical reference.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
color-matcher transfers color characteristics from one image to another using histogram matching and Gaussian distribution methods, enabling automatic color grading for photographs, paintings, and film sequences.
Yes, if you need color transfer between images and accept the GPL V3.0 copyleft requirement. The package is actively maintained, has low install friction, carries no known vulnerabilities, and offers multiple established algorithms. Not suitable for proprietary or closed-source projects without relicensing.
Install
color-matcher on PyPI
pip
pip install color-matcheruv
uv add color-matcherpoetry
poetry add color-matcherInstalling color-matcher
Before you install
Low install friction with a pure Python wheel. Actively maintained as of February 2026 with 663 repository stars and regular releases since 2020.
License in practice
Licensed under GNU GPL V3.0 (copyleft). Any derivative work or distribution must also be released under GPL V3.0; proprietary or closed-source applications cannot use this package without relicensing.
Quickstart
pip install color-matcher
import color_matcher
from imageio import imread
reference = imread('reference.jpg')
image = imread('image.jpg')
matched = color_matcher.ColorMatcher().transfer(image, reference)
Requires imageio and numpy for image I/O and array operations; matplotlib is a runtime dependency for visualization.
Verify before relying
- Whether the package supports batch processing of multiple images or film sequences in a single call.
- Performance characteristics (processing time) for typical image sizes or video frame counts.
- Whether the Reinhard, MKL, and MVGD-HM methods are exposed as separate, selectable transfer modes or only as a compound.
Package facts
| License | GNU GPL V3.0 (copyleft) |
| Python support | supports the current Python release (>=3) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 6 — ddt, docutils, imageio, matplotlib, numpy, packaging |
| Maintenance | actively maintained — 502 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 430,115/month — #6,731 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: color_matcher-0.6.0-py3-none-any.whl
Keywords: color, match, histogram, matching, image, colour, transfer, monge, kantorovich, mkl, pitie, reinhardrecolor, re-color, recolour, re-colour, paintings, film, movie, sequence, automatic, grading, color-grading, colour-grading, equalize, equalise, equalization, equalisation, light-field, lightfield, stop-motion, stopmotion
Tags
More Graphics packages
Pillow adds image processing capabilities to…
permissive · top 100 on PyPI
fonttoolsfonttools manipulates font files in multiple…
permissive · top 1,000 on PyPI
matplotlib-inlineEnables matplotlib figures to display inline…
permissive · top 1,000 on PyPI
pymupdfPyMuPDF extracts, renders, converts, and…
agpl · top 1,000 on PyPI
pypdfium2pypdfium2 is a Python binding to PDFium that…
permissive · top 1,000 on PyPI
altairAltair is a declarative Python library for…
permissive · top 1,000 on PyPI
vtracerConverts raster images (JPG, PNG) into vector…
permissive · top 15,000 on PyPI
adaptersAdapters adds parameter-efficient fine-tuning…
permissive · top 15,000 on PyPI
colourConverts between and manipulates color…
permissive · top 5,000 on PyPI
colorspaciousConverts colors between standard and…
permissive · top 15,000 on PyPI
hdrhistogramRecords and analyzes high-precision latency and…
permissive · top 15,000 on PyPI
k-diffusionk-diffusion is a PyTorch library implementing…
permissive · top 15,000 on PyPI
pixeloeConverts standard images into pixel art using…
permissive · top 15,000 on PyPI
autogluon.visionAutomated machine learning for image…
permissive · top 15,000 on PyPI
histoprintHistoprint renders NumPy histograms and…
permissive · top 15,000 on PyPI
mgwrCalibrates multiscale and traditional…
permissive · top 15,000 on PyPI