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 есть точные формулы.
Sign up to leave a comment.
Трансформация цвета: поиски в прореженном столе