PainterPython
Python implementation of Aaron Hertzmann's Painterly Rendering with Curved Brush Strokes of Multiple Sizes (SIGGRAPH 98)
Install / Use
/learn @manuelladron/PainterPythonREADME
painterPython
Python implementation of Aaron Hertzmann's Painterly Rendering with Curved Brush Strokes of Multiple Sizes (SIGGRAPH 98). Official Java implementation can be found at Aaron Hertzmann's github. Thanks to Aaron for feedback and original code.
Link to the paper
Aaron Hertzmann. Painterly Rendering with Curved Brush Strokes of Multiple Sizes. Proc. SIGGRAPH 1998. Project Page, ACM paper link
Installation
The only dependencies this code needs are Numpy, OpenCV and Scipy
Using PIP
$ pip install numpy
$ pip install opencv-python
$ pip install scipy
Using Conda
$ conda install numpy
$ conda install -c conda-forge opencv
$ conda install -c anaconda scipy
To Run
Open terminal and use
python paint.py source_image [--maxLength MAX STROKE LENGTH][--minLength MIN STROKE LENGTH][--resize][--threshold]
[--brush_sizes 8,4,2][--blur_fac BLUR FACTOR][--grid_fac GRID FACTOR][--length_fac LENGTH FACTOR][--filter_fac
FILTER FACTOR]
Source Image

Painting level 0

Painting level 1

Painting level 2

Source Image

Painting level 0

Painting level 1

Painting level 2

Source Image

Painting level 0

Painting level 1

Painting level 2

Source Image

Painting level 0

Painting level 1

Painting level 2

