python - 如何将Lab颜色空间更改为RGB 0-255

标签 python opencv matplotlib computer-vision colormath

我有Lab数据集:val_lab_2像这样:

[[ 7.803e+01  3.100e-01  1.382e+01]
 [ 6.697e+01 -7.400e+00  2.750e+01]
 [ 5.631e+01 -1.804e+01  1.599e+01]
 [ 6.701e+01  2.650e+00  2.913e+01]
 [ 6.564e+01  1.660e+00  2.540e+01]
 [ 3.537e+01  2.050e+01  3.784e+01]
 [ 4.178e+01  2.251e+01  4.438e+01]
 [ 6.129e+01  1.261e+01  5.934e+01]
 [ 4.269e+01  5.120e+00  4.995e+01]...]

我想将其更改为RGB 0-255,所以我使用了colormath包:
import numpy as np
import pandas as pd 

from colormath.color_objects import sRGBColor, XYZColor, LabColor
from colormath.color_conversions import convert_color

val_rgb_2 = []
for lab_list in val_lab_2:
       lab = LabColor(*[component for component in lab_list])
       rgb = convert_color(lab, sRGBColor)
       rgb_list = [255*color for color in rgb.get_value_tuple()]
       val_rgb_2.append(rgb_list)
val_rgb_2 = np.array(val_rgb_2)
print(val_rgb_2)

结果显示:
[[201.44003158 192.14717152 167.2643737 ]
 [163.51015463 166.15931613 112.52909259]
 [109.8451797  143.64817993 106.17872676]
 [181.45664244 160.44644464 110.27374654]
 [174.70091435 157.51328159 113.65978481]
 [122.18753543  69.26114552  19.79086107]
 [143.2650315   82.85139354  20.50673141]
 [187.60706038 138.48640317  31.06087929]...]

但是,我认为这是不正确的,因为我有一个标签,所以前几行显示应该是:

天然白色100%羊毛,蓝紫色花朵,蓝色花朵,花朵,整个植物,果皮,果皮,果皮...

最佳答案

我建议您使用此website来:

  • 插入LAB
  • 检查网站为您提供的RGB
  • 检查与您已插入
  • LAB / RGB相关的颜色

    我已经进行了检查,您编写的两个矩阵之间的转换是正确的。
    例如,让我们尝试上面列表的第二个元素,该元素应标记为蓝紫色花:
    [ 6.697e+01 -7.400e+00  2.750e+01]
    
    enter image description here
    转换正确无误;我对标签有些怀疑。

    关于python - 如何将Lab颜色空间更改为RGB 0-255,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62327701/

    相关文章:

    python - Seaborn 在同一个散点图上绘制两个数据集

    python - Flask - 通知发送服务数据已收到,然后处理

    python - pymunk 更新了形状过滤器的使用

    python - 从图像中删除 OCR 词(OpenCV,Python)

    python - 使用在 python 中加权的元素制作六角形图

    python - Matplotlib animate 不更新刻度标签

    python - 使用 matplotlib 从纪元开始绘制 time() 的日期

    python - Twisted 队列用于 CPU 密集型任务

    python - Open CV导入不起作用

    opencv - 图像跟踪 - 用相机跟踪屏幕