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.
- 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
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
You can download pre-build version at here.
Including Windows and macOS versions.
Screenshots