как изменить цветовое пространство Lab на RGB 0-255

У меня есть набор данных 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% шерсть, сине-фиолетовые цветы, синие цветы, цветы, цельное растение, корки, кожуры, кожуры...

1 ответ

Решение

Я предлагаю вам использовать этот сайт, чтобы:

  • вставить LAB ценности
  • проверить RGB ценности, которые дает вам сайт
  • проверьте цвет, связанный с LAB/RGB у вас есть вставка

Я проверил, и преобразование между двумя матрицами, которые вы написали, правильное.
Например, давайте попробуем со вторым элементом списка выше, который следует обозначить как сине-фиолетовые цветы:

[ 6.697e+01 -7.400e+00  2.750e+01]

Преобразование правильное; У меня есть сомнения по поводу этикеток.

Другие вопросы по тегам