| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Алгоритмы > Узнать цвет из тройки |
| Автор: Evgenijj128 5.5.2009, 13:46 |
| Дано три байта цвета R G B. Необходимо найти основной цвет. Так же желательно найти яркость цвета. Крайне желательно оперировать целыми числами. В моей программе происходит захват изображения в диб массив, а потом найти надо пятна определенного цвета. Те смотрим пиксель и надо, например ,определить что он красный или зеленый. Кто знает формулу ? |
| Автор: Akina 5.5.2009, 13:58 |
Приводишь к grayscale - вот тебе и относительная яркость. А вот тут определеиться бы, что это... |
| Автор: Evgenijj128 5.5.2009, 15:30 |
| Основной цвет-- цвет который определяется человеком. Те множество троек RGB может человеком определятся,например, как красный цвет. |
| Автор: Akina 5.5.2009, 15:39 |
Значит, нужно определить константно базовые цвета, и полагать основным тот, для которого, скажем, сумма квадратов отклонений интенсивностей компонентов минимальна. |
| Автор: ksnk 5.5.2009, 15:41 |
| http://en.wikipedia.org/wiki/HSL_and_HSV. В целых числах остаться не получится ;-) Если преобразовать RGB в HSV, то первая цифра из получившейся 3-ки и будет цветом, вторая - "серостью" цвета, третья яркость.... |