Still Image Colorization

This is a cource project of ECE420 Digital Image Processing
Colorization represents a computer-assisted process of adding color to grey-scale still images or monochrome movies. Since the mapping from grey-scale pixel to color pixel is not unique, this process generally requires some user interactions to help confine the color selection.This project implemented a colorization algorithm blending the color of pixels according to the intrinsic distances and a user-friendly interface with Visual C++ and OpenCV41 library. After user scribbles the color of some selected pixels, the program will automatically propagate the color to the remaining regions to generate a comfortable color image with good subjective quality.
Binary code download: Colorization.rar (updated! Report: FinalReport.pdf
New features: 1) Zoom-in and zoom-out for subtle fine changes; 2) support for high-resolution images;  3) full processing and fast processing for high-resolution images; 4) save and load the mask of scribble; 5) selective full processing a rectangle region after fast processing. (I'll appreciate if you could inform me any bugs).

Original Image

Mask Image

Result Image

Reference
[1]  Anat Levin, Dani Lischinski and Yair Weiss. "Colorization using Optimization". ACM Transactions on Graphics, Aug 2004, Siggraph¡¯04, pp.689-693.
[2] Liron Yatziv and Guillermo Sapiro. "Fast Image and Video Colorization using Chrominance Blending", May 2006, Trans. on Image Processing, pp.1120 - pp.1129.