从RGB颜色列表中创建一个调色板图像

3

我使用color thief从图像中提取颜色调色板。

如何将rgb值的图像创建为调色板?

from colorthief import ColorThief
color_thief = ColorThief('C:\Users\username\Desktop\index.jpg')
# get the dominant color
dominant_color = color_thief.get_color(quality=1)
print dominant_color
# build a color palette
palette = color_thief.get_palette(color_count=2)
print palette

输出:

(82, 129, 169)
[(82, 129, 169), (218, 223, 224), (147, 172, 193), (168, 197, 215), (117, 170, 212)]

预期的输出类似于http://www.color-hex.com/color-palette/895,即一系列彩色矩形。

你期望的输出是什么?它已经丢失了。 - undefined
只是一个包含颜色调色板的图像。 - undefined
1个回答

6
一种使用Matplotlib的imshow解决方案:
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline

palette = [(82, 129, 169), (218, 223, 224), (147, 172, 193), (168, 197, 215), (117, 170, 212)]

palette = np.array(palette)[np.newaxis, :, :]

plt.imshow(palette)
plt.axis('off')
plt.show()

提供:

结果图片


实际上,如果你只想要一个由3-5个彩色方块组成的图像,可能有比matplotlib更好的工具。 - undefined
代码只显示黑色。请告诉我更好的工具。不需要除以255。它解决了我的问题,而无需除以255。 - undefined
好的,如果不除以255,它对我来说无法工作...可能是matplotlib版本不同。 - undefined
要将输出保存到文件中,请在imshowshow之间使用plt.savefig('palette.png') - undefined

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接