ColorfulCurves: Palette-Aware Lightness Control and Color Editing via Sparse Optimization
ACM Transactions on Graphics (TOG). Presented at SIGGRAPH North America 2023.
[By Cheng-Kang Ted Chao, Jason Klein, Jianchao Tan, Jose Echevarria, Yotam Gingold]
This repo is official code release for ColorfulCurves.
Our editing framework allows users to:
- Edit lightness (a.k.a luminance in photography communities though not mathematically equivalent) sparsely according to the representative colors in the given image.
- Edit pixel's colors by directly placing image-space color constraints. ColorfulCurves will find a best set of representative colors and tone curves to satisfy your constraints.
Install Anaconda or Miniconda. (Miniconda is faster to install.) Choose the 64-bit Python 3.x version. Launch the Anaconda shell from the Start menu and navigate to the posterization directory. Then:
conda env create -f environment.yml
conda activate sparse_edit
Launch the GUI:
python GUI.py
Note: The time complexity of our algorithm is independent to image size; however, the GUI will crop your image if its width is larger than certain size to fit itself properly to the screen. Our GUI is not implemented in a way that it can dynamically shrink or enlarge your image when changing window size.
This work is licensed under a Creative Commons Attribution 4.0 International License.
The software is licensed under MIT License
.