Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Coherent Line Drawing

C/C++ CI Build Status codecov License: MIT

This project implemented a non-photorealistic rendering technique presented by Kang et al, that can automatically generates a line drawing from a photograph. This project provide an easy-to-use, real-time interactive graphic user interface system.


Workflow (Youtube)

Coherent Line Drawing



  • C++ 17
  • CMake
  • OpenCV 3
  • WxWidget 3 (not required for cmd application)
  • Boost (not required for gui application)

If you prefer C++ 11 version, there is a branch called cpp11, the function is equivalent.

It should work fine in Windows/Linux/MacOS.
I provided some scripts that can use in Linux:

# Usage: [options]
# Options:
#   -c, --clean       Clean build
#   -d, --debug       Build with debug mode
#   -j, --jobs        Use N cores to build
$ ./

# Usage: [options]
# Check code style
# Options:
#   -i                In-place format
$ ./

Command Line Version

I provide another command line application that can directly use without graphic interface, the entry point is src/cmd.cpp. The options is list as following, also you can refer to ./ to see how to use:

# Coherent-Line-Drawing Options:
#   -h [ --help ]            Help message
#   -s [ --src ] arg         Source image path
#   -o [ --output ] arg      Output image path
#   --ETF_kernel arg (=5)    ETF kernel size
#   --ETF_iter arg (=1)      Refining n times ETF
#   --CLD_iter arg (=1)      Iterate n times FDoG
#   --sigma_c arg (=1)       Line width
#   --sigma_m arg (=3)       Degree of coherence
#   --rho arg (=0.997)       Noise
#   --tau arg (=0.8)         Thresholding

Pre-Build GUI Version

You can download pre-build version at here.
Including Windows and macOS versions.


demo demo demo