Skip to content

SSARCandy/Coherent-Line-Drawing

master
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?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
src
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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.

demo

Workflow (Youtube)

Coherent Line Drawing

Build

Requirement

  • 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: build.sh [options]
# Options:
#   -c, --clean       Clean build
#   -d, --debug       Build with debug mode
#   -j, --jobs        Use N cores to build
$ ./build.sh

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

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 ./test.sh 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.

Screenshots

demo demo demo