Determining a dominant color of an image based on pixel components
First Claim
Patent Images
1. A method comprising:
- obtaining a content item for presentation to a user, wherein the obtained content item includes an image comprising a plurality of pixels;
identifying one or more color components associated with each pixel in the plurality of pixels;
generating a characteristic vector for each sub-set of pixels, a characteristic vector for a sub-set of pixels specifying a color associated with a plurality of pixels in the sub-set by;
associating weights with the one or more color components associated with an identified pixel of the sub-set;
associating one or more additional weights with the one or more color components associated with one or more additional pixels of the sub-set; and
generating a vector for the identified pixel based at least in part on the weights, the one or more color components associated with the identified pixel, the one or more additional weights, and the one or more color components associated with the one or more additional pixelsranking the generated one or more sub-sets of pixels based on magnitudes of the characteristic vectors of the one or more sub-sets of pixels; and
selecting one or more sub-sets of pixels having at least a threshold position in the ranking;
determining a dominant color associated with the image based on the characteristic vectors for a selected number of sub-sets of pixels;
selecting an element for inclusion in the image based on the dominant color associated with the image; and
generating a modified image including the image and the selected element.
1 Assignment
0 Petitions
Accused Products
Abstract
A digital magazine server determines a dominant color present in an image using a clustering algorithm. Color components of each pixel in the image are identified used to generate vectors associated with each pixel. Based on the vectors associated with the pixels, clusters including one or more pixels are generated using a clustering algorithm (e.g., k-means). The digital magazine server generates a characteristic vector for each cluster based on the vectors included in the cluster and selects a set of clusters based on their characteristic vectors. A centroid identifying the dominant color of the image is determined from the characteristic vectors of clusters in the set.
-
Citations
16 Claims
-
1. A method comprising:
-
obtaining a content item for presentation to a user, wherein the obtained content item includes an image comprising a plurality of pixels; identifying one or more color components associated with each pixel in the plurality of pixels; generating a characteristic vector for each sub-set of pixels, a characteristic vector for a sub-set of pixels specifying a color associated with a plurality of pixels in the sub-set by; associating weights with the one or more color components associated with an identified pixel of the sub-set; associating one or more additional weights with the one or more color components associated with one or more additional pixels of the sub-set; and generating a vector for the identified pixel based at least in part on the weights, the one or more color components associated with the identified pixel, the one or more additional weights, and the one or more color components associated with the one or more additional pixels ranking the generated one or more sub-sets of pixels based on magnitudes of the characteristic vectors of the one or more sub-sets of pixels; and selecting one or more sub-sets of pixels having at least a threshold position in the ranking; determining a dominant color associated with the image based on the characteristic vectors for a selected number of sub-sets of pixels; selecting an element for inclusion in the image based on the dominant color associated with the image; and generating a modified image including the image and the selected element. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A non-transitory computer readable storage medium storing executable computer program instructions, the computer program instructions comprising instructions that when executed cause a computer processor to:
-
obtain a content item for presentation to a user, wherein the obtained content item includes an image comprising a plurality of pixels; identify one or more color components associated with each pixel in the plurality of pixels; generate a characteristic vector for each sub-set of pixels, a characteristic vector for a sub-set of pixels specifying a color associated with a plurality of pixels in the sub-set by; associating weights with the one or more color components associated with an identified pixel of the sub-set; associating one or more additional weights with the one or more color components associated with one or more additional pixels of the sub-set; and generating a vector for the identified pixel based at least in part on the weights, the one or more color components associated with the identified pixel, the one or more additional weights, and the one or more color components associated with the one or more additional pixels ranking the generated one or more sub-sets of pixels based on magnitudes of the characteristic vectors of the one or more sub-sets of pixels; and selecting one or more sub-sets of pixels having at least a threshold position in the ranking; determine a dominant color associated with the image based on the characteristic vectors for a selected number of sub-sets of pixels; selecting an element for inclusion in the image based on the dominant color associated with the image; and generating a modified image including the image and the selected element. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
Specification