PyPainterly
Python implementation of Aaron Hertzmann's Painterly algorithm for stroke based rendering of an image.
Install / Use
/learn @pschaldenbrand/PyPainterlyREADME
Painterly
Aaron Hertzmann's algorithm for stroke-based rendering in Python. The algorithm paints a given image using curved brush strokes of given widths. Its only dependencies are OpenCV and NumPy as seen in requirements.txt.

Usage
See example.ipynb for an example usage from the command-line or by importing.
From the command-line:
python painterly.py IMAGE_FILE [--r RADII][--output OUTPUT_FILENAME][--T APPROX_THRESH][--straight][--f_g GRID_FACTOR]
example:
python3 painterly.py images/tomato.jpg --r 8 4 2 --output images/tomato_rendered.jpg
where you want to use radii 8, 4, and 2 pixels in that order.
Aaron Hertzmann. 1998. Painterly rendering with curved brush strokes of multiple sizes. In Proceedings of the 25th annual conference on Computer graphics and interactive techniques (SIGGRAPH '98). Association for Computing Machinery, New York, NY, USA, 453–460. https://www.mrl.nyu.edu/publications/painterly98/hertzmann-siggraph98.pdf
Related Skills
node-connect
337.4kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
claude-opus-4-5-migration
83.2kMigrate prompts and code from Claude Sonnet 4.0, Sonnet 4.5, or Opus 4.1 to Opus 4.5
frontend-design
83.2kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
model-usage
337.4kUse CodexBar CLI local cost usage to summarize per-model usage for Codex or Claude, including the current (most recent) model or a full model breakdown. Trigger when asked for model-level usage/cost data from codexbar, or when you need a scriptable per-model summary from codexbar cost JSON.
