Здравствуйте, гость ( Вход | Регистрация )

> Смена Яркости точки или картинки., Находим картинку или несколько связаных точек, даже при смене яркости.
_LESTAT_
сообщение 23.10.2012, 13:10
Сообщение #1


****

Apprentice
Сообщений: 103
Регистрация: 12.3.2011
Группа: Пользователи
Наличность: 0
Пользователь №: 13.512
Возраст: 25



Столкнулся с проблемой нахождения картинки (или точней трех пикселей находящихся на определенных координатах друг от друга на этой картинке) у которой меняется яркость, например когда наводишь на ее мышь она становиться ярче, при это м сама не меняясь. А когда становиться недоступной она остается той же картинкой, но становиться тусклой.
Вопрос можно ли найти нужную нам картинку даже если у нее сменилась яркость, при том что оригинальную яркость мы знаем. И примерно знаем на сколько эта самая яркость картинки изменилась.
Я уверен , что это возможно, вот только не знаю как реализовать, потому и прошу помощи у более сведущих в этих десятичных цветах и прочих тонкостях людей.

Пока что я допер до следующего. На нужной мне иконке, я снял определённую точку, в разных состояниях иконки, тоесьт когда она доступна, и когда недоступна. Перевел полученные цвета с помощью таблицы в полезных советах в RGB вид и вот что получил.
Цитата
dec R G B
556106 74 124 8
277797 37 61 4

Как видно на этом примере, каждая составляющая цвета на этой картинке уменьшилась почти ровно на половину(за исключением зеленого диапазона во втором случае, он почему то стал 61, хотя по логике должен быть 62).
Как бы то не было, яркость картинки уменьшилась в двое, и при этом сама картинка осталась прежней
, а значит ее можно найти, зная лишь оригинал, а так же то насколько(примерно) измениться яркость.

Ну вот идею я описал, а вот как реализовать я не знаю, помогите пожалуйста. Я ниче не смыслю в преобразовании цветов. Если это получиться с одной точкой, то потом можно применить к небольшим картинкам. Думаю это пригодиться многим, и сэкономит объем кода.
Для чего это мне нужно: Определяем и записываем три определенных пикселя на иконке(гет колором), а потом можем найти эту иконку в другом месте экрана , по пикселям расположенным на тех же местах друг от друга, причем даже если яркость всех трех пикселей изменилась примерно на равное значение.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
 
Ответить в эту темуОткрыть новую тему
Ответов
_LESTAT_
сообщение 23.10.2012, 18:42
Сообщение #2


****

Apprentice
Сообщений: 103
Регистрация: 12.3.2011
Группа: Пользователи
Наличность: 0
Пользователь №: 13.512
Возраст: 25



Спасибо большое !
Пока не опробовал, но выглядит впечатляюще, хотя и жаль что для такой казалось бы простой задачи придется увеличить код скрипта на целую четверть. Возможно стоит ввести новые команды по переработке деситичных цветов, в RGB , чтобы такую массивную операцию выполнять одной двумя строками. Это было бы просто великолепно.
Верхнюю часть скрипта, по преобразованию цвета в RGB я понял.
А вот когда дошло дело до "коэффициента" , мозг отказался работа. Что это такое и зачем оно нужно ? Мне кажется коэффициент, это процент совпадения получившегося числа, с ожидаемым, или я не прав ?
тоесть если изначальный RGB у нас 200 100 50 , и мы знаем, что яркость должна снизиться на половину, тоесть до RGB 100 50 25 .
Но что если у нас определилось RGB 100 51 24 ? Нужно как то заставить скрипт принять его за правильный цвет, тоесть задать диапазон, для каждого из трех каналов, скажем +/-2. Мне нужно именно это. Чтобы это сделать и нужен коэффициент ?
Блин мой мозг совсем уже не варит. Попробую снова перечитать завтар пример на свежую голову.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

Сообщений в этой теме
_LESTAT_   Смена Яркости точки или картинки.   23.10.2012, 13:10
DarkMaster   Подсвеченную так же можно найти get color'ом. ...   23.10.2012, 13:40
_LESTAT_   Объясняю задачу более подробно. 1)Есть рамка(напри...   23.10.2012, 14:11
DarkMaster   Тогда вообще не вижу проблемы. Берете три точки, н...   23.10.2012, 15:11
_LESTAT_   У меня проблема такова, что вопервых я не знаюк ак...   23.10.2012, 15:56
DarkMaster   Посмотри внимательнее на заданные точки. Я их при...   23.10.2012, 16:15
DarkMaster   Давайте с примером. Есть три эталонных цвета: log...   23.10.2012, 17:38
DarkMaster   Там не обработано исключение деления на ноль. Будь...   23.10.2012, 17:57
DarkMaster   Почти. Коэффициент позволяет проверить соотношени...   23.10.2012, 19:57
DarkMaster   log mode compact log clear set %color [ 1 1 ...   23.10.2012, 20:15
_LESTAT_   Сколько не пытался, так ничего и не понял :( С пом...   24.10.2012, 10:08
DarkMaster   А вы сравните результат первого и второго прогона....   24.10.2012, 10:45
DarkMaster   Кстати учитывая точность, то можно обойтись просты...   24.10.2012, 11:42
_LESTAT_   Спасибо, посмотрел свежим взглядом я увидел, что к...   25.10.2012, 7:20
DarkMaster   set #xN #xFirst + #xOffset * (#n - #n / 2 * 2) set...   25.10.2012, 12:16
_LESTAT_   set #xN #xFirst + #xOffset * (#n - #n / 2 * 2) se...   25.10.2012, 16:55
змеючище   столкнувшись с похожей проблемой(в течении минуты ...   26.10.2012, 1:24
_LESTAT_   2 Змеючище Такой способ подойдет для переливающихс...   26.10.2012, 5:16
DarkMaster   просто из любопытства. насколько точно другие точк...   26.10.2012, 13:22


Ответить в эту темуОткрыть новую тему
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 

- Текстовая версия | Версия для КПК Сейчас: 27.6.2026, 4:33
Designed by Nickostyle