Skip to main content

An implementation of various color transfer algorithms

Project description



An implementation of various algorithms for transferring the colors from a reference image to a content image while preserving the qualitative appearance of the content image (i.e., color transfer).



  • Python 3.6 or greater (earlier versions may work, but were not tested)


$ pip3 install colortrans


$ pip3 install --upgrade colortrans

Command-Line Usage

The program can be used from the command line.

The general command line usage is shown below.


CONTENT is the path to the content image, REFERENCE is the path to the style image, and OUTPUT is the path to save the output image.

METHOD specifies the color transfer algorithm. The following methods are supported:

  1. lhm Linear Histogram Matching [1] (default)
  2. pccm Principal Components Color Matching [2, 3]
  3. reinhard Reinhard et al. [4]

If the launcher script was not installed within a directory on your PATH, colortrans can be launched by passing its module name to Python.

$ python3 -m colortrans [--method METHOD] CONTENT REFERENCE OUTPUT

Library Usage

The algorithms can also be used directly from Python programs. Each of the methods listed above has a corresponding function, transfer_METHOD, taking two NumPy arrays corresponding to the content and reference image, respectively. The arrays have HxWxC data ordering (channels-last).


import colortrans
import numpy as np
from PIL import Image

# Load data
content = np.array('/path/to/content.jpg').convert('RGB'))
reference = np.array('/path/to/reference.jpg').convert('RGB'))

# Transfer colors using different algorithms
output_lhm = colortrans.transfer_lhm(content, reference)
output_pccm = colortrans.transfer_pccm(content, reference)
output_reinhard = colortrans.transfer_reinhard(content, reference)

# Save outputs


[1] Hertzmann, Aaron. "Algorithms for Rendering in Artistic Styles." Ph.D., New York University, 2001.

[2] Kotera, Hiroaki, Hung-Shing Chen, and Tetsuro Morimoto. "Object-to-Object Color Mapping by Image Segmentation." In Color Imaging: Device-Independent Color, Color Hardcopy, and Graphic Arts IV, 3648:148–57. SPIE, 1998.

[3] Kotera, Hiroaki. "A Scene-Referred Color Transfer for Pleasant Imaging on Display." In IEEE International Conference on Image Processing 2005, 2:II–5, 2005.

[4] Reinhard, Erik, Michael Adhikhmin, Bruce Gooch, and Peter Shirley. "Color Transfer between Images." IEEE Computer Graphics and Applications 21, no. 5 (July 2001): 34–41.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

colortrans-1.0.0.tar.gz (5.5 kB view hashes)

Uploaded Source

Built Distribution

colortrans-1.0.0-py3-none-any.whl (6.4 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page