0

我找到了这段代码:

import PIL
from PIL import Image
from matplotlib import pyplot as plt

im = Image.open('./color_gradient.png')  
w, h = im.size  
colors = im.getcolors(w*h)

def hexencode(rgb):
 r=rgb[0]
 g=rgb[1]
 b=rgb[2]
 return '#%02x%02x%02x' % (r,g,b)

for idx, c in enumerate(colors):
    plt.bar(idx, c[0], color=hexencode(c[1]),edgecolor=hexencode(c[1]))
plot.show()

对于确切的链接,可以在这里查看-使用 matplotlib 绘制图像颜色直方图

我的问题是轴的含义是什么,如何生成这些值的表格?我想运行一些统计数据,比如图片中绿色或红色的百分比......

谢谢

4

1 回答 1

1

来自PIL 文档

获取颜色

im.getcolors() => (计数,颜色)元组列表或无

im.getcolors(maxcolors) => (计数,颜色)元组列表或无

参考图中的 Y 轴是该颜色的像素数,X 轴包含图中的(未排序的?)颜色列表。

于 2013-03-27T10:52:38.800 回答