python 中图像包的主色

Dominant colors with Image package in python

我有一个透明图像,我正在尝试使用 Image 模块的 getcolor() 方法从中提取主要颜色

y = Image.open('img.png')
y.getcolors()
[Out]: [(21841, 0),
(13328, 1),
 (8171, 2),
 (2673, 3),
 (1337, 4),
 (1010, 5),
 (892, 6),
 (519, 7),
 (379, 8),
 (234, 9)]

如何获取这些索引对应的实际颜色值(或名称)?

我不确定以下代码片段是否是您所找到的。将Image对象转换为RGBA对象,使用getcolors()如下。

from PIL import Image

im = Image.open('img.png')
rgba_im = im.convert('RGBA')
print ( rgba_im.getcolors() )

"""
<Output>
[(2673, (218, 215, 209, 255)), (379, (195, 29, 54, 255)), (21841, (208, 208, 209, 0)), (234, (206, 198, 185, 255)), (519, (201, 178, 176, 255)), (1337, (193, 188, 186, 0)), (8171, (182, 176, 174, 0)), (892, (178, 170, 165, 255)), (13328, (168, 26, 41, 255)), (1010, (107, 18, 19, 255))]
"""