Название: [Решено] Яркость цвета Отправлено: andrew.k от Июль 11, 2012, 16:19 Кто разбирается в цветовых моделях, подскажите, как отличить визуально светлый цвет от визуально темного.
Т.е. разделить цвета на два лагеря: темные, черные, синие.. и яркие, красные, желтые... Нужно для того, чтобы отрисовать белую либо черную рамку вокруг цветного квадратика. Сейчас использую значение компоненты V(яркость) в модели HSV с порогом в 200. Но вижу, что не совсем хорошо. Некоторые цвета визуально достаточно темные, но V у них равно 255. Думаю эта задача тривиальная и должна быть известна. Название: Re: Яркость цвета Отправлено: andrew.k от Июль 11, 2012, 16:20 думаю еще попробовать складывать три компонента RGB и сравнивать с некоторым порогом.
Название: Re: Яркость цвета Отправлено: Igors от Июль 11, 2012, 16:44 стандартная формула перевода в grayscale
gray = red * 0.3 + green * 0.59 + blue * 0.11; Название: Re: Яркость цвета Отправлено: andrew.k от Июль 11, 2012, 16:49 стандартная формула перевода в grayscale Спасибо. Оно) Сейчас попробую.gray = red * 0.3 + green * 0.59 + blue * 0.11; Хотя, конечно, настолько точно мне не надо, использовал такую: return color.red() + color.green() + color.blue() / 2 > 150; Название: Re: Яркость цвета Отправлено: andrew.k от Июль 11, 2012, 16:53 стандартная формула перевода в grayscale Пожалуй оставлю эту формулу. Все-таки стандартная)gray = red * 0.3 + green * 0.59 + blue * 0.11; Еще раз спасибо |