Russian Qt Forum
Ноябрь 24, 2024, 01:07 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: [Решено] Яркость цвета  (Прочитано 2592 раз)
andrew.k
Гость
« : Июль 11, 2012, 16:19 »

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

Сейчас использую значение компоненты V(яркость) в модели HSV с порогом в 200.
Но вижу, что не совсем хорошо. Некоторые цвета визуально достаточно темные, но V у них равно 255.

Думаю эта задача тривиальная и должна быть известна.
« Последнее редактирование: Июль 11, 2012, 16:53 от andrew.k » Записан
andrew.k
Гость
« Ответ #1 : Июль 11, 2012, 16:20 »

думаю еще попробовать складывать три компонента RGB и сравнивать с некоторым порогом.
Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #2 : Июль 11, 2012, 16:44 »

стандартная формула перевода в grayscale

gray = red * 0.3 + green * 0.59 + blue * 0.11;
Записан
andrew.k
Гость
« Ответ #3 : Июль 11, 2012, 16:49 »

стандартная формула перевода в grayscale

gray = red * 0.3 + green * 0.59 + blue * 0.11;
Спасибо. Оно) Сейчас попробую.

Хотя, конечно, настолько точно мне не надо, использовал такую:
return color.red() + color.green() + color.blue() / 2 > 150;
Записан
andrew.k
Гость
« Ответ #4 : Июль 11, 2012, 16:53 »

стандартная формула перевода в grayscale

gray = red * 0.3 + green * 0.59 + blue * 0.11;
Пожалуй оставлю эту формулу. Все-таки стандартная)
Еще раз спасибо
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.176 секунд. Запросов: 22.