def dominant_colors(url, num_colors=3): file = StringIO.StringIO(urllib.urlopen(url).read()) image = Image.open(file) """resize = 150 image = image.resize((resize, resize)) result = image.convert('RGB').convert('P', palette=Image.ADAPTIVE, colors=num_colors) result.putalpha(0) colors = result.getcolors(resize*resize) return [color[:3] for (count, color) in colors]""" return color_clusters.colorz(image, n=num_colors)
def dominant_colors(path, num_colors=3): cache_path = path + '.colors' if os.path.exists(cache_path): return json.load(open(cache_path)) file = StringIO.StringIO(open(path).read()) image = Image.open(file) """resize = 150 image = image.resize((resize, resize)) result = image.convert('RGB').convert('P', palette=Image.ADAPTIVE, colors=num_colors) result.putalpha(0) colors = result.getcolors(resize*resize) return [color[:3] for (count, color) in colors]""" out = color_clusters.colorz(image, n=num_colors) open(cache_path, 'w').write(json.dumps(out)) return out