Насыщенность цвета изображения - PullRequest
3 голосов
/ 07 декабря 2011

Я пытался найти функциональную форму для насыщения, но ничего не нашел. Это не может быть так сложно, но все мои догадки выглядят не совсем правильно (направление к ненасыщенности кажется более легким).

У меня есть данные пикселей изображения в формате RGB. Окончательное изображение также должно быть в формате RGB. Итак, как определяются эти функции:

r_n = saturation_r(r,g,b,sat);
g_n = saturation_g(r,g,b,sat);
b_n = saturation_b(r,g,b,sat); 

1 Ответ

2 голосов
/ 07 декабря 2011

Преобразование пикселя RGB в HLS, масштабирование S с помощью ввода sat, а затем преобразование обратно в RGB. Псевдокод, при условии, что все цветовые компоненты находятся в диапазоне от 0,0 до 1,0:

rgb_to_hls(r, g, b, h, l, s);
s = s * sat
hls_to_rgb(h, l, s, r, g, b);
return r, g, b

Если вам нужны функции преобразования RGB / HLS, здесь они .

...