Re[6]: Поиск ближайшего цвета
От: Reunion  
Дата: 24.01.05 15:43
Оценка:
Здравствуйте, AcidTheProgrammer, Вы писали:

ATP>Здравствуйте, Reunion, Вы писали:


R>>Здравствуйте, AcidTheProgrammer, Вы писали:


ATP>>>И что я там должен посмотреть...?


ATP>>>Бред он и есть бред.... С какой стати для нахождения ближайжего цвета, я должен пользоваться весами для яркочти.


ATP>>>Например если мы ищем для некого зеленого цвета, похожий:


ATP>>>Ясно, что если в палитре есть Красный по яркости не отличающийся от него и зеленый отличающийся на чудь-чудь, твой способ найдет именно красный — что является бредом. Попробуй со своим методом хороший дехеринг написать. Я например написал, и не один, и точно могу сказать, что метрика с весами по яркости хорошо будет работать только для полутоновых изображений.


R>>Я не говорил, что там все правильно. Я говорю, что результат одинаковый и при f = sqrt ((rp — ri) * (rp — ri) + (gp — gi) * (gp — gi) + (bp — bi) * (bp — bi)) и при f = 30 * (rp — ri) * (rp — ri) + 59 * (gp — gi) * (gp — gi) * 11 * (bp — bi) * (bp — bi). И оба неправильные. Я хочу нормальный способ. Если есть работающий пример, делающий все классно, поделись — посмотрю что там...


ATP> Ну вы же не написали что хотите сделать. Как я могу догадаться... Что значит неправильный результат??????

ATP>Формула с SQRT или без него, правильная.
ATP>Опишпте проблему поподробней... Что вы делаете, скриншот...., что должно получиться

Описываю. Есть картинка из которой надо сделать витраж. Картинка бъется на области и считается средний цвет внутри каждой области. Но стекла не бывают любых цветов (по крайней мере в моем случае, у меня их число ограничено) — т.е. есть набор цветов стекол. Надо подобрать стекло для каждой области исходя из среднего цвета.

Есть голубой1 (170, 196, 200). В палитре есть серый (200, 200, 200) и голубой2 (197, 255, 249).

(170-197)*(170-197)+(196-255)*(196-255)+(200-249)*(200-249) = 6611
(170-200)*(170-200)+(196-200)*(196-200)+(200-200)*(200-200) = 916

голубой1 меняется на серый, а не на голубой2. А мне надо наоборот...
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.