Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Алгоритмы > Вывести картинку по компонентам HLS


Автор: 4epT 28.3.2011, 22:41
Здравствуйте! Пишу курсовой по форматам изображений, нужно полученную картинку перевести из RGB базиса в HLS базис. Это сделал без проблем, затем по заданию сказано показать картинку по составляющим ... например вот так: http://ru.wikipedia.org/wiki/%D0%A4%D0%B0%D0%B9%D0%BB:Barns_grand_tetons_HSL_separation.jpg

Так как я могу выводить изображение только RGB я не могу вывести компоненты из HLS (H [0-360], L[0-1], S[0-1] ), как в данном случае поступить ? Делал просто масштабированием к диапазону 0 - 255, но говорят что не правильно.

Преподаватели сами не знают или не хотят объяснять как это правильно сделать.

Заранее спасибо =)

Автор: x128 29.3.2011, 14:02
Если реализованы функции перевода RGB->HLS и обратно, то какие проблемы, значения RGB для отрисовки для H будут как HLS2RGB(H, 1, 1), для L - HLS2RGB(0, L, 1), для S - HLS2RGB(0, 1, S)

Автор: 4epT 29.3.2011, 14:15
Цитата(x128 @ 29.3.2011,  14:02)
HLS2RGB(H, 1, 1), для L - HLS2RGB(0, L, 1), для S - HLS2RGB(0, 1, S)

Компоненты HLS масштабировать ?

к примеру у меня получился цвет в HLS - 360 1 0.5. Вывод H - 255 1 1, L - 0 255 1, S - 0 1 127. Правильно ?

Автор: x128 29.3.2011, 20:49
Цитата

Компоненты HLS масштабировать ?

Зачем? Если функция RGB2HLS у тебя возвращает H[0-360], L[0-1], S[0-1], то обратная функция должна принимать такие же значения.


Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)