Сравнение цветов
После неудачных попыток что-либо найти по теме сравнения красок цветов, придумал кое-что сам. Алгоритм выглядит так: Сначала разбиваем область палитры на семь логических зон: малиновый, красный, оранжевый, желтый, зеленый, голубой, синий, а также на семь небольших промежутков между ними. Далее сравниваем любые два цвета по такому алгоритму:
1. Если два цвета находятся:
а) либо в одной области,
б) либо в одном и том же промежутке
в) либо один - в области, а другой - в прилегающем промежутке,
- то возвращаем модуль разницы между их индексами.
2. Иначе считаем, что цвета несовместимы.
3. Исключением из правила являются: красный и малиновый, синий и голубой. Для них промежутка не надо.
Для разметки цветовых зон создал небольшую панельку. Она показалась довольно забавной, поэтому картинка прилагается ниже:
Объяснение этого алгоритма достаточно просто: глаз различает только семь четких красок в палитре. Промежутки между ними воспринимаются как смесь соседних. Соответственно, при сравнении важна лишь вероятность принадлежности к одной из этих зон.
PS Интересный факт отсюда: количество колбочек разных типов всегда различно: примерная пропорция "красных", "зеленых" и "фиолетовых" - 40:20:1.
Ваше имя:
| Articles & posts |
|---|
| Временная память - удобная альтернатива | Многие, наверное, сталкивались с "ограничением" языка Си на работу со строками, когда надо возвратить строку или другие объемные данные, созданные внутри функции. Сейчас вы поймете, почему я взял это слово в кавычки :)
|
|---|
| Функция создания точки останова на чтение/запись | Эта функция будет полезна при отладке, когда нужно определить, где портятся заданные данные.
|
|---|
| Кремль со спутника | Вид со спутника на несколько известных мест. Карты maps.google.com.
|
|---|
| Представление цвета | Принцип разложения цветов на составляющие для удобного их сравнения. Существующие два олсновных формата представления цвета.
|
|---|
| Сравнение цветов | Соображения по поводу возможного алгоритма сравнения цветов.
|
|---|
| Детектор движения | Общие соображения насчет алгоритма обнаружения движения.
|
|---|
| Сборщик мусора | Альтернатива стандартному алгоритму сборщика мусора, используемому в java.
|
|---|
|