1. A method comprising: obtaining an image for presentation to a user, the image comprising a set of pixels; identifying one or more color components associated with each pixel in the set of pixels; generating a vector for each identified pixel based at least in part on the one or more color components associated with each pixel and one or more color components of one or more additional pixels within a threshold distance of each identified pixel; generating one or more clusters each including one or more pixels based at least in part on the generated vectors; generating characteristic vectors for each cluster based at least in part on the generated vectors, a characteristic vector for a cluster specifying a color associated with the cluster; selecting a set of the clusters based at least in part on the characteristic vectors; determining a centroid based on the characteristic vectors for each cluster in the selected set of clusters, the centroid identifying a dominant color associated with the image; storing information associating the dominant color with the image; selecting an element for inclusion in the image based at least in part on the dominant color associated with the image; and generating a modified image including the image and the selected element.