You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从colorgram返回的Color对象列表中提取RGB数值?

如何从colorgram获取的Color对象列表中提取RGB数值列表?

我用colorgram库获取了一个包含RGB颜色代码的列表,列表元素类型为colorgram.colorgram.Color,示例列表如下:

[<colorgram.py Color: Rgb(r=80, g=97, b=85), 42.86094708532268%>
 <colorgram.py Color: Rgb(r=34, g=48, b=37), 20.90975231208169%>
 <colorgram.py Color: Rgb(r=29, g=26, b=18), 12.300570275661888%>]

我希望提取出如下格式的RGB数值列表:

[[80, 97, 85], [34, 48, 37], [29, 26, 18]]

该列表长度不固定,请问如何实现提取?


解决方案

colorgram的Color对象自带rgb属性,这个属性是包含r、g、b三个数值的对象,你可以直接访问这三个属性提取数值,再用列表推导式快速生成目标列表,不管原列表长度多少都适用。

代码实现

import colorgram

# 假设你已获取color_list,示例:从图片提取10种颜色
color_list = colorgram.extract("your_image.jpg", 10)

# 提取RGB数值列表
rgb_list = [[color.rgb.r, color.rgb.g, color.rgb.b] for color in color_list]

print(rgb_list)

代码说明

  • color.rgb:获取每个Color对象对应的RGB实例
  • color.rgb.r/color.rgb.g/color.rgb.b:分别提取红、绿、蓝通道的数值
  • 列表推导式会自动遍历原列表的所有Color对象,生成对应的子列表,无需手动处理长度问题

内容的提问来源于stack exchange,提问作者whgus613

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 20:05:33