from PIL import Image, ImageDraw, ImageFont
def get_dominant_colors(infile):
image = Image.open(infile)
# 缩小图片,否则计算机压力太大
small_image = image.resize((80, 80))
result = small_image.convert(
"P", palette=Image.ADAPTIVE, colors=10
)
# 10个主要颜色的图像
# 找到主要的颜色
palette = result.getpalette()
color_counts = sorted(result.getcolors(), reverse=True)
colors = list()
for i in range(10):
palette_index = color_counts[i][1]
dominant_color = palette[palette_index * 3 : palette_index * 3 + 3]
colors.append(tuple(dominant_color))
# print(colors)
return colors
image_path = "./test.jpg"
color = get_dominant_colors(image_path)
print(color)
r = []
if (255,255,255) in color:
color.remove((255,255,255))
for each in color:
r.append(each[0])
r = sorted(r)
print(r)
print(r[0], r[-1])
本样例中输出的内容为:
[(255, 255, 255), (254, 254, 254), (253, 253, 253), (228, 228, 228), (245, 245, 245), (231, 231, 231), (234, 234, 234), (250, 250, 250), (239, 239, 239), (230, 230, 230)]
© 著作权归作者所有
文章评论(0)