图表可视化配色学习——自动提取图片主色调与配色方案(python、pillow、haishoku和seaborn),并生成十六进制颜色编码

在这里插入图片描述

| 图源1、图源2

无论绘制什么图表,配色方案都是非常重要的,配的好,整幅图看起来会自然美观,反之就可能很别扭。所谓的配色,笔者觉得就是一幅图表的几种主要颜色,一般绘图的工具都会提供一些调色板,供我们配色。但是工具提供的颜色色终究是比较有限的,有时我们可能需要自己配色。如果没有美术基础,自己配起来会比较难,这时我们可能需要借鉴其他的好看的图表的配色。用取色器一个一个的取色显得有些繁琐,不过最近笔者发现了一个小工具haishoku,它借助pillow获取色彩列表,可自动获取一幅图的主色调和配色方案,最多可以提取8种配色。haishoku只有300多行代码,体量很小,也是一个学习CV的小案例。以下将用haishoku提取配色方案,并用seaborn绘图,一起来看看吧。

copyright © 意疏:https://blog.csdn.net/sinat_35907936/article/details/120589389


Haishoku简介


  • haishoku源码简介

haishoku代码的核心是用pillow来获取一幅图像的颜色列表,使用Image模块的getcolors方法,该方法返回某RGB出现的频次和RGB值组成的元组,如下所示。注:maxcolors默认为256,即默认的最大颜色数只有256,如果输入图像中的颜色数大于256,需要修改默认值,否则getcolors返回会为空值。

from PIL import Image

img = Image.open('palette.png').convert('RGB')

# 缩小图片,以减少计算量和限制最大色彩数
img = img.resize((256, 256),Image.ANTIALIAS)
colors = img.getcolors(maxcolors=256*256)
colors_sorted_freq = sorted(colors, key=lambda x:x[0], reverse=True)
print(colors_sorted_freq)

颜色列表:下图左与下图右的颜色列表

[(21025, (255, 255, 255)),
 (5544, (64, 101, 156)),
 (4992, (162, 212, 37)),
 (4626, (141, 232, 235)),
 (4394, (207, 177, 45)),
 (4077, (147, 174, 243)),
 (3196, (206, 59, 103)),
 (3083, (98, 67, 82)),
 (2624, (115, 217, 143)),
 (365, (208, 178, 48)),
 ...,
 ]
 
[(101, (43, 46, 89)),
 (100, (42, 45, 88))
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值