PRimitive IMage OPtimizer
Compose an image from random primitives (circles, triangles, ellipses, etc).
Or: personal challenge to see how quickly I could hack something like https://github.com/fogleman/primitive together in python.
- Pick
M
random circles (position, size) with random alpha and random color chosen from input image - Pick the circle that has minimal RMSE error when blended into current canvas
- Stochastic hillclimb: mutate that circle
N
times, choosing new circle if it has lower error - Blend best shape into canvas
- Repeat
- Optionally: start 1-5 at an aggressively subsampled image resolution and use low-res primitives to seed the higher resolutions