python - 使用颜色图从图像中提取所有颜色

标签 python

我愿意使用色彩图在 python 中获取图像中存在的所有颜色。在文档中他们没有具体说明这一点。这是我的代码:

import colorgram as cg

color_list = cg.extract("dot-img.jpg", 60)
color_palette = []

for count in range(len(color_list)):
    rgb = color_list[count]
    color = rgb.rgb
    color_palette.append(color)

我在 cg.extract 第二个参数中写了 60。但我没有 60 种颜色。这是否意味着 colorgram 返回了图像中存在的所有颜色?

最佳答案

只需为 number_of_colors 变量指定一个尽可能大的数字即可。系统会正确处理。

import colorgram as cg

color_list = cg.extract("dot-img.jpg", 2 ** 32)
color_palette = []

for count in range(len(color_list)):
    rgb = color_list[count]
    color = rgb.rgb
    color_palette.append(color)

colorgram中的源代码:

def get_colors(samples, used, number_of_colors):
    pixels = 0
    colors = []
    number_of_colors = min(number_of_colors, len(used))

    for count, index in used[:number_of_colors]:
        pixels += count

        color = Color(
            samples[index]     // count,
            samples[index + 1] // count,
            samples[index + 2] // count,
            count
        )

        colors.append(color)
    for color in colors:
        color.proportion /= pixels
    return colors

关于python - 使用颜色图从图像中提取所有颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67121930/

相关文章:

python - 递归代码返回 None

Python 'continue' 干扰 'try/except' 或 'with'?

Python 按顺序将 2 个列表和 Pandas DataFrame 写入 csv/excel

python - 为命令行选项指定无限数量的参数

python - SQLAlchemy中的VALUES子句

Python for循环按类别分隔

python - 是否可以使用 Beautiful Soup 以编程方式组合某些 HTML 标签的内容?

python - 如何减少不同条件下的代码行数

python - 为什么 Selenium (Python) 无法在带有链接文本的页面上找到链接?

python - 属性错误: 'numpy.ndarray' object has no attribute 'cos'