使用Python查找图片的主色

2021年12月26日 0 条评论 670 次阅读 0 人点赞
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)

你必须 登录 才能发表评论