Мальчик ... Я надеюсь, ты любишь математику ...
Это сложный вопрос.Чтобы определить «близость соответствия» между двумя цветами, сначала необходимо понять цветовое пространство / цветовую модель, в которой вы работаете.Цветовая модель RGB (не считая альфа-канал) по своей сути является евклидовой: каждый цвет отображается в точку в трехмерном пространстве.Следовательно, предполагаемое расстояние между двумя цветами С1 и С2 составляет
Distance = SQRT( (C1<sub><i>red</i></sub> - C2<sub><i>red</i></sub>)<sup>2</sup> + (C1<sub><i>green</i></sub> - C2<sub><i>green</i></sub>)<sup>2</sup> + (C1<sub><i>blue</i></sub> - C2<sub><i>blue</i></sub>)<sup>2</sup> )
WRT "нормальное" зрительное восприятие человека, это не обязательно правильно.Принимать это во внимание становится гораздо сложнее.
Попробуйте эти два документа в качестве отправных точек:
FAQ по цвету также предоставляют множество ссылок на другой ресурс цветового пространства s.
Еще несколько ссылок на http://www.golden -gryphon.com / software / misc / color-links.html
Вот статья о цветовых различиях, которая также может помочь: http://www.axiphos.com/Reports/ColorDifferences.pdf
Брюса Линдблумана веб-сайте также есть множество вещей, в том числе калькулятор разности цветов, который работает в цветовом пространстве CIE (в котором предусмотрены вычисления расстояния).