本文实例讲述了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是一个快捷字符串,用于定义
颜色
、标记符合和线条形状,例如:
>>>...
下面将演示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的
颜色
值和它们的比例。