Python还能这样玩?让你轻松实现配色自由

嗨嗨,你们好

好几天没更新了,最近有点点无聊,就琢磨出一个一个有趣的东西

教你们用python快速获取图片配色,做个可视化配色方案出来

这期分享一个Python快速提取任何图片配色方案的工具:Haishoku

Haishoku是一个用来获取图片主色调和主要配色方案的python库,依赖于python3和pillow

Haishoku安装

pip3 install haishoku

使用案例

抓取以下《生活多美好》电影海报主题色,

顺便安利下这部电影,嘿嘿

主题色提取

from haishoku.haishoku import Haishoku
image=./life_is_b.png
haishoku = Haishoku.loadHaishoku(image)
haishoku.palette  #palette函数输出配色色号

alette函数输出配色色号

[(0.77, (244, 247, 244)), (0.09, (116, 165, 96)), (0.06, (193, 214, 168)), (0.03, (148, 184, 124)), (0.02, (165, 196, 134)), (0.02, (86, 144, 81)), (0.01, (54, 113, 65)), (0.0, (184, 185, 148))]

showPalette函数预览上面提取出的配色~

haishoku.showPalette(image)

会输出以上图片,但是不会保存 。

主题色运用于Matplotlib

Matplotlib详细教程👉Matplotlib 1.4W+字教程(以后会出 可以评论提醒一下我 )),

以上颜色需要简单转化一下

才可以运用于Python可视化

python学习交流:770699889###
import matplotlib.pyplot as plt
 
rgb_list = [[i[1][0] / 255, i[1][1] / 255, i[1][2] / 255]
            for i in haishoku.palette] #色号简单转化为matplotlib可用的0~1之间RGB色号
plt.figure(dpi=120)
plt.style.use(bmh)
plt.bar(range(2, 10), range(2, 10), color=rgb_list)  #传入Haishoku提取的颜色号
plt.title(Colored with Haishoku, size=10)
plt.show()

主题色运用于Seaborn

python学习交流Q群:770699889 ###
import seaborn as sns
import pandas as pd
 
tips = pd.read_csv(./seaborn-data-master/tips.csv)
plt.figure(dpi=120)
plt.style.use(bmh)
sns.boxplot(x="day",
            y="total_bill",
            hue="smoker",
            palette=[rgb_list[3], rgb_list[6]],#传入Haishoku提取的颜色号
            data=tips)
sns.despine(offset=10, trim=True)

好啦,今天的分享就到这里结束啦

想要视频学习的可以去小破站搜 :Python小圆

经验分享 程序员 微信小程序 职场和发展