Super fast color transfer between images

The color_transfer package is an OpenCV and Python implementation based (loosely) on Color Transfer between Images [Reinhard et al., 2001] The algorithm itself is extremely efficient (much faster than histogram based methods), requiring only the mean and standard deviation of pixel intensities for each channel in the L*a*b* color space.

For more information, along with a detailed code review, take a look at this post on my blog.

Requirements

Install

To install, make sure you have installed NumPy and compiled OpenCV with Python bindings enabled.

From there, there easiest way to install is via pip:

$ pip install color_transfer

Examples

Below are some examples showing how to run the example.py demo and the associated color transfers between images.

$ python example.py --source images/autumn.jpg --target images/fallingwater.jpg Autumn and Fallingwater screenshot

$ python example.py --source images/woods.jpg --target images/storm.jpg Woods and Storm screenshot

$ python example.py --source images/ocean_sunset.jpg --target images/ocean_day.jpg Sunset and Ocean screenshot