Colour transfer algorithms for grading the colours of an image
Switch branches/tags
Nothing to show
Clone or download
François Pitié
François Pitié added text to demo
Latest commit 50397f0 Oct 8, 2015
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
publications
LICENSE
README.md
colour_transfer.bib
colour_transfer_IDT.m
colour_transfer_MKL.m
demo.m
generate_rotations.m
pdf_transfer.m fixed nan issues in IDT Oct 8, 2015
regrain.m
result_IDT.png
result_IDT_regrain.png
result_MKL.png
scotland_house.png
scotland_plain.png changed input images to original png files Oct 6, 2015

README.md

colour transfer

This package contains two scripts to run colour grading as described in

[Pitie05a] N-Dimensional Probability Density Function Transfer and its
Application to Colour Transfer. F. Pitie , A. Kokaram and R. Dahyot
(2005) In International Conference on Computer Vision (ICCV'05). Beijing,
October.

[Pitie05b] Towards Automated Colour Grading. F. Pitié , A. Kokaram and
R. Dahyot (2005) In 2nd IEE European Conference on Visual Media
Production (CVMP'05). London, November.

[Pitie07a] Automated colour grading using colour distribution transfer.
F. Pitie , A. Kokaram and R. Dahyot (2007) Computer Vision and Image
Understanding.

[Pitie07b] The linear Monge-Kantorovitch linear colour mapping for
example-based colour transfer. F. Pitié and A. Kokaram (2007) In 4th
IEE European Conference on Visual Media Production (CVMP'07). London,
November.

[Pitie08] Enhancement of Digital Photographs Using Color Transfer Techniques.
F. Pitié, A. Kokaram and R. Dahyot (2008). Single-Sensor Imaging. Sep 2008,
295 -321

Pictures on this webpage are released free of copyrights. Please cite our publications when using our code and pictures (bib).

Send an email to fpitie@mee.tcd.ie if you want more information

Example

I0 = double(imread('scotland_house.png'))/255;	 % reference image
I1 = double(imread('scotland_plain.png'))/255;   % target palette
IR_idt = colour_transfer_IDT(I0, I1, 10);        % [Pitie07a,Pitie05a,Pitie05b]
IR_mkl = colour_transfer_MKL(I0, I1);     	   	 % [Pitie07b] in RGB space
IR_regrain = regrain(I0, IR_idt);     	   	     % [Pitie07a,Pitie05b]

Note that the IDT method uses random colour directions, hence results will differ from the results published here in result_IDT.png.

input ref input target
IDT Solution (10 iterations) IDT followed by regrain
Linear Monge-Kantorovitch solution in RGB space