![]() |
|
![]() ![]() ![]() |
|
UnixBeginner |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 89 Регистрация: 10.11.2005 Где: Россия, г. Калини нград Репутация: нет Всего: нет |
Есть объект закрашенный одним каким-то цветом. Человек кликает в центре этого объекта и программа должна заменить тот цвет, по которому щелкнул пользователь другим (и так по всей фигуре). ТОлько проблема заключается в том, что для человека это все один цвет, а для компа - нет. Ведь даже если он незначительно отличается, то он уже не совпадает с тем, который является базовым для сравнения.
Поэтому и возникает вопрос, а как можно определить границы цвета (диапазон параметров), одинакового для человека? Что-то типа "MagicWand" в Photoshop. |
|||
|
||||
drkot |
|
|||
![]() Ищущий ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1042 Регистрация: 5.5.2006 Репутация: нет Всего: 8 |
Цвет трехкомпонентный RGB (0..255).
Предположим пользователь кликнул по R(50)G(100)B(150). Предполощим Tolerance 10%. Тогда R=50+-5%=47..52 G=100+-5%=95..105 ..... Для всех цветов попавших в интервалы производим замену. Только коэффициенты для каждого компонента цвета свои, в зависимости от восприимчивости их глазом. -------------------- Ошибка не становится истиной по причине широкого распространения, как и Истина не становится Ошибкой из-за того, что никто её не видит. |
|||
|
||||
UnixBeginner |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 89 Регистрация: 10.11.2005 Где: Россия, г. Калини нград Репутация: нет Всего: нет |
Вроде бы при изменении любого из компонентов цвета при RGB меняется цвет, даже для восприятия человеком.
Может быт проще использовать не RGB, а HSV или HLS. Там вроде бы можно менять насыщенность или светлость. Правда могут быть косяки с тоном, особенно у белого цвета и черного. Я так сделал, но может быть есть какие-либо книги или статьи по данному вопросу. Я правда ничего не нашел. |
|||
|
||||
maxim1000 |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3334 Регистрация: 11.1.2003 Где: Киев Репутация: 33 Всего: 110 |
можно попробовать собрать статистику возле указанной точки и использовать её для генерации правила для решения, принадлежит ли точка фигуре или нет...
(правда, для этого нужна уверенность, что точка достаточно далеко от границы) -------------------- qqq |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Алгоритмы" | |
|
Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Алгоритмы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |