Pull to refresh

Comments 6

А пробовали смотреть ошибку интерполяции? Всегда ли там красиво всё получается и при каком значении шага уже видны косяки невооружённым глазом?
Если в оригинальной таблице были ступеньки или насыщение, не появятся ли артефакты?

Заметить невооруженным глазом, что что-то не так, довольно сложно. Во-первых в изображении должно быть много градиентов, во-вторых трансформация должна быть довольно сильно нелинейной. Для примера, если взять косинус который проходит полный круг (2pi):


def gen(r, g, b): 
    r = -math.cos(r * math.pi*2) / 2 + 0.5 
    g = -math.cos(g * math.pi*2) / 2 + 0.5 
    b = -math.cos(b * math.pi*2) / 2 + 0.5 
    return r, g, b 

Вот результат для таблиц размером 5, 9, 13, 17, 21, 25, 29, 33, 65:











Думаю уже при 21 сложно что-то разглядеть даже имея на руках оригинал.

Какого размера таблицы у вас в итоге получились для практических целей? (Очевидно, что для увеличения насыщенности и т.п. или перевода RGB в Lab должно хватить довольно небольшой, а вот перевод RGB в HSB имеет особую точку – со всеми вытекающими).

У себя я использую для трансформации таблицы размером 25 и 17.

Таблицы сделаны для работы в одном цветовом пространстве. Для преобразований между RGB и HSV есть точные формулы.

Как раз для такого преобразования точные формулы очень дороги, так что LUT может оказаться выгодным, невзирая на необходимость большой таблицы.

Sign up to leave a comment.

Articles