Преобразуване на sRGB в Lab с convertColor?

Опитвам се да работя с Lab цвят и трябва да направя преобразувания от sRGB, в идеалния случай с R. Току-що дадох convertColor и съм малко объркан. Като тест конвертирам мострите на Macbeth ColorChecker, но не получавам точните стойности.

Пример:

swatch1sRGB <- c(115,82,68)/255
swatch1Lab <- convertColor(swatch1sRGB, from="sRGB", to="Lab")
swatch1Lab
            L      a.x        b
[1,] 38.05293 11.86536 13.71442

Което е извън реалните стойности (37.986, 13.555, 14.059) с разумна разлика от стойностите на Macbeth ColorChecker.


person alexwhan    schedule 05.04.2012    source източник
comment
sRGB стойностите не са ли закръглени и следователно по-непрецизни от тези на Lab?   -  person Vincent Zoonekynd    schedule 05.04.2012
comment
Стойностите на sRGB са закръглени, но това не решава проблема, защото когато отидете в обратната посока (Lab към sRGB), ще закръглите до 117, 81 и 67. Не успях да го разбера.   -  person alexwhan    schedule 09.05.2012


Отговори (1)


Числата, които сте получили с convertColor, са правилни. Възпроизвеждах вашите резултати с помощта на пакет convert_colour по farver:

library(farver)
convert_colour(
  t(c(115, 82, 68)), 
  from = "rgb", 
  to = "lab")

Резултатът е почти същият като във вашия пример:

            l        a        b
[1,] 38.01682 11.79681 13.66437

Освен това ColorHexa също показва почти същите числа (за CIE-LAB):

въведете описание на изображението тук

person Artem    schedule 26.12.2019
comment
convertColor() е функция от grDevices и не е остаряла, доколкото знам. - person Droplet; 27.02.2020
comment
Съгласен. Коригирайте отговора. - person Artem; 02.03.2020