本文实例讲述了Python通过PIL获取图片主要颜色并和颜色库进行对比的方法。分享给大家供大家参考。具体分析如下:

这段代码主要用来从图片提取其主要颜色,类似Goolge和Baidu的图片搜索时可以指定按照颜色搜索,所以我们先需要将每张图片的主要颜色提取出来,然后将颜色划分到与其最接近的颜色段上,然后就可以按照颜色搜索了。

在使用google或者baidu搜图的时候会发现有一个图片颜色选项,感觉非常有意思,有人可能会想这肯定是人为的去划分的,呵呵,有这种可能,但是估计人会累死,开个玩笑,当然是通过机器识别的,海量的图片只有机器识别才能做到。

那用python能不能实现这种功能呢?答案是:能

利用python的PIL模块的强大的图像处理功能就可以做到,下面上代码:

代码如下:

import colorsys

def get_dominant_color(image):

#颜色模式转换,以便输出rgb颜色值

image = image.convert('RGBA')

#生成缩略图,减少计算量,减小cpu压力

image.thumbnail((200, 200))

max_score = None

dominant_color = None

for count, (r, g, b, a) in image.getcolors(image.size[0] * image.size[1]):

# 跳过纯黑色

if a == 0:

continue

satura

本文实例讲述了Python通过PIL获取图片主要颜色并和颜色库进行对比的方法。分享给大家供大家参考。具体分析如下:这段代码主要用来从图片提取其主要颜色,类似Goolge和Baidu的图片搜索时可以指定按照颜色搜索,所以我们先需要将每张图片的主要颜色提取出来,然后将颜色划分到与其最接近的颜色段上,然后就可以按照颜色搜索了。在使用google或者baidu搜图的时候会发现有一个图片颜色选项,感觉非常有... plot([x], y, [fmt], data=None, **kwargs) plot([x], y, [fmt], [x2], y2, [fmt2], ..., **kwargs) 点和线的坐标由参数x,y提供。可选参数fmt是一个快捷字符串,用于定义 颜色 、标记符合和线条形状,例如: >>&gt...
下面将演示matplotlib如何设置窗体、绘图区、边框、刻度线、标签、图例文本等对象的 颜色 。 import numpy as np import matplotlib.pyplot as plt x = np.arange(1,11,1) y1 = np.arange(1,11,1) y2 = np.ones(10)*5.5 y3 = np.arange(10,0,-1) # 设置figure窗体的 颜色 plt.rcParams['figure.facecolor'] = 'black' # 设置a
matplotlib绘制的图位于 图片 (Figure)对象中,使用plot.figure生成一个新图 fig = plt.figure()#不会有任何显示,无法用空白的 图片 绘图 需要使用add_subplot创建一个或者多个子图(subplot) fig = plt.figure() <matplotlib.figur... 微信小程序配置环境链接:https://pan.baidu.com/s/1TAzjNmxQ0RfJpVIjlxh_gQ 后台路径地址:localhost:8080/项目名称/admin/dist/index.html 管理员账号:abo 管理员密码:abo 如果您要学会调试运行,一定要去看运行教学 微信小程序程序运行教学地址: 链接:https://pan.baidu.com/s/1JOJg_Cc2c-LOo4KvzJ--WA 如果您想对系统多一些了解,一定要去看系统讲解 Ssm+vue(后端)系统逻辑讲解地址: 链接:https://pan.baidu.com/s/1h0CTQcY6f4nCYu6xd_noyw 微信小程序系统逻辑讲解地址: 链接:https://pan.baidu.com/s/127VYvESQtOaNZZkOnFgwFg
可以用 Python 中的 PIL 获取 图片 颜色 信息和 颜色 比例。可以通过读取每个像素的 颜色 值,然后计算出每种 颜色 出现的频率来得到 颜色 比例。以下是示例代码: ``` python from PIL import Image image = Image.open("image.jpg") colors = image.getcolors(image.size[0] * image.size[1]) total_pixels = image.size[0] * image.size[1] # 计算每种 颜色 的比例 color_ratios = [(count / total_pixels, color) for count, color in colors] color_ratios.sort(reverse=True) # 获取 前 10 种 颜色 的比例和对应的 颜色 值 top_colors = color_ratios[:10] for ratio, color in top_colors: print(f"Color: {color}, Ratio: {ratio:.2%}") 这份代码会输出 图片 中出现频率排名前10的 颜色 值和它们的比例。