社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

【Python】可视化配色方案自由啦 (Python版)

机器学习初学者 • 4 年前 • 516 次点击  

本文分享一个Python快速提取任何图片配色方案的工具:Haishoku
Haishoku 是一个用来获取图片主色调和主要配色方案的python库,依赖于python3pillow


Haishoku安装

pip3 install haishoku

使用案例

抓取以下《生活多美好》电影海报主题色,再次安利这部电影,小编从里面顿悟的一点点正能量是:好的风景何必远方,用心领会,咫尺之间皆是~

  • 主题色提取
from haishoku.haishoku import Haishoku
image='./life_is_b.png'
haishoku = Haishoku.loadHaishoku(image)
haishoku.palette  #palette函数输出配色色号

palette函数输出配色色号

[(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可视化,

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(210), range(210), color=rgb_list)  #传入Haishoku提取的颜色号
plt.title('Colored with Haishoku', size=10)
plt.show()
  • 主题色运用于Seaborn

Seaborn详细教程👉Matplotlib太臃肿,试试Seaborn

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)




    
往期精彩回顾




站qq群955171419,加入 微信群请扫码:
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/123209