Painting with Gaussians: Turning Photos into Brushstrokes

A developer builds an interactive tool that paints images using 2D Gaussian splats, guided by edge and texture analysis instead of slow gradient descent. The system uses structure tensors for stroke orientation, Haar wavelets for detail density, and Wang hash for placement, producing results that resemble digital paintings.
It turns out that a 2D Gaussian splat maps onto this idea surprisingly well.
- mkaic
I investigated a gradient-descent-based concept adjacent to this back in like 2023 [0] inspired by the original 3DGS paper, I was pretty happy with the results I got with back-to-front alpha-blending and polar-coordinate gaussians for variable-curvature brush strokes. One of these days I should add another example gif to the repo besides just the Mona Lisa one that's currently there, but that's the only one I've got at the moment unfortunately.
- swiftcoder
The effect looks decent in the foreground of some pictures, particularly the wolf and the cat. It really exaggerates the depth of field in the background, though, and those areas feel like someone ran a posterise after a blur, rather than brush strokes. Might just be a side effect of the author's predilection for bokeh, I guess. The Tokyo shot looks good throughout.
- shen
I’d suggest for the examples to pick images that are not mostly bokeh.