![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 29.05.2011
Сообщений: 449
|
![]()
Добрый день
Есть набор цветов из массива 64 Color:array [1..64] of Tcolor; есть эталонный цвет ColorValue :Tcolor; как найти максимально похожий цвет в массиве
задания на pascal/delphi ICQ 368254335
Tel +79177425326 mail denis-naymov1985(at)mail.ru login skype denis.new.skype |
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 11.07.2010
Сообщений: 914
|
![]()
По RGB-составляющим надо бы:
delta = 30*(Ri-R0)^2 + 59*(Gi-G0)^2 + 11*(Bi-B0)^2. Перебираем в цикле и ищем минимальную дельту. 30, 59, 11 - множители чуствительности глаза к RGB. |
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 03.02.2010
Сообщений: 178
|
![]()
Понятие "максимально похожий" сильно зависит от задачи. Обычно, "максимально похожий" будет ближайший цвет в евклидовом пространстве sqrt(sqr(r1-r2)+sqr(g1-g2)+sqr(b1-b2)). Если необходимо учитывать особенности восприятия, в таком случае используются более сложные формулы и отличные от RGB цветовые пространства.
|
![]() |
![]() |
![]() |
#4 |
Форумчанин
Регистрация: 11.07.2010
Сообщений: 914
|
![]()
Ну, а смысл вычислять точное значение гипотенузы, беря квадратный корень?
Вычисления из целочисленных превращаются ... брюки преврашаются...) Лишнее движение, требуется всего лишь найти индекс в массиве. |
![]() |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 29.05.2011
Сообщений: 449
|
![]()
отлично! спасибо вопрос решен.
задания на pascal/delphi ICQ 368254335
Tel +79177425326 mail denis-naymov1985(at)mail.ru login skype denis.new.skype |
![]() |
![]() |
![]() |
#6 |
Старожил
Регистрация: 08.04.2012
Сообщений: 3,229
|
![]()
EUGY, проблема в том, что приведенные Вами коэффициенты справедливы при вычислении яркости, причем цветовые составляющие должны входить в первой степени, а у Вас в формуле используются квадраты.
На мой взгляд для решения задачи имеет смысл перейти в другое цветовое пространство, включающее яркость, цветовой тон и насыщенность, и определять расстояние уже по этим величинам, опять же с некоторыми весовыми коэффициентами. Причем, выбор коэффициентов зависит от задачи (т.е. нельзя привести единый набор коэффициентов пригодный для всего). Опять же, коэффициент при цветовом тоне сам по себе может зависеть от насыщенности, а по большому счету и от яркости (последнее уже особенность человеческого глаза). |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как произвести поиск наиболее похожего материала | Andreog | Microsoft Office Excel | 1 | 07.09.2010 23:08 |
поиск цвета пикселей | nolz | Общие вопросы Delphi | 1 | 27.05.2010 13:30 |
Поиск максимально приближенного файла | coNsept | Общие вопросы C/C++ | 9 | 26.05.2010 17:28 |
Поиск похожего текста | Valg | Microsoft Office Excel | 18 | 04.10.2009 20:32 |
Поиск похожего. | Kukkk | Общие вопросы Delphi | 4 | 06.10.2007 23:11 |