1. A computer-implemented method comprising: receiving, using one or more processors, an input image; adding, using one or more processors, a base layer of brush strokes based on a sampling of underlying pixel values in the input image; adding, using one or more processors, a uniform layer of brush strokes iteratively based on a sampling of underlying pixel values in the input image and directionally based on a gradient of the input image; and adding, using one or more processors, a detail layer of brush strokes based on a determined saliency map.