📝 This repository contains the unofficial python implementation of the following paper:
Computational Caricaturization of Surfaces
Matan Sela, Yonathan Aflalo, Ron Kimmel (CVIU 2015)
🚀 [2026/04/09] Implement boundary conditions (Eq.30-31), area-weighted norm (Eq.30), and reference-free mode (Eq.20) 🚀 [2026/04/08] Fix minor bugs with AI assistance 🚀 [2022/01/17] Upload source code and example .obj files
✔️ Python >= 3.6
✔️ libigl python binding
✔️ numpy
✔️ scipy
✔️ click
Check the basic usage:
python caricaturize.py --helpWhen a reference (average) mesh is provided, the exaggeration is driven by the area ratio between the source and the reference mesh (Eq.18-19 in the paper).
--beta controls the exaggeration degree.
python caricaturize.py --outdir=./ --src=examples/src.obj --ref=examples/ref.obj --beta=0.6When no reference mesh is provided, a constant exaggeration factor --gamma is used (Eq.20 in the paper).
python caricaturize.py --outdir=./ --src=examples/src.obj --gamma=0.5| Option | Description | Default |
|---|---|---|
--outdir |
Output directory (required) | - |
--src |
Source mesh .obj file (required) | - |
--ref |
Reference mesh .obj file (optional) | None |
--beta |
Exaggeration degree for reference mode | 0.1 |
--gamma |
Constant exaggeration factor for reference-free mode | 0.5 |
--meshplot |
Save .html visualization files | False |
📫 You can have contact with wonjong@postech.ac.kr or ycjung@postech.ac.kr
This software is being made available under the terms in the LICENSE file.
Any exemptions to these terms require a license from the Pohang University of Science and Technology.
Notes: The LICENSE only covers my code, not example meshes.
❤️ This code is based on the unofficial C++ implementation of the paper





