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

> Смена Яркости точки или картинки., Находим картинку или несколько связаных точек, даже при смене яркости.
_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Отправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
 
Ответить в эту темуОткрыть новую тему
Ответов
DarkMaster
сообщение 23.10.2012, 13:40
Сообщение #2


***********

Модератор UOPilot
Сообщений: 9.796
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 30378
Пользователь №: 11.279



Подсвеченную так же можно найти get color'ом. Так же есть прекрасное сочетание crtl+b, которое обновляет цвет, снятый по ctrl+a.

Цель разложить цвет на ргб и найти такую же пропорцию? Тогда неизбежно возникает вопрос производительности. Безусловно можно просканировать весь экран, однако это займет достаточно много времени. Чтобы все это сделать адекватно быстро надо бы иметь ограничение хотя бы на один канал хотя бы одной точки. Например мы точно знаем что красный у нас бывает 64, 96 и 128, тогда мы сможем найти подходящие красные точки финдколором и проверить их на другие каналы, а так же точки со смещением.
Насколько разнообразна палитра точек? Не проще сделать набор частных случаев?

https://forum.uokit.com/index.php?s=&am...st&p=176418
разложение на каналы. Кстати можно упростить. Посмотри формулы, там можно подставить значения каналов, чтобы уменьшить количество математики.

Пришла в голову интересная идея. Делаем скриншот среднего состояния, вырезаем кусок с тремя точками. Залазим в paint, все кроме этих точек заливаем одним цветом, в том числе ОБЯЗАТЕЛЬНО левый верхний пиксель. После чего у нас получится рисунок готовый к поиску через findimage. Есть шанс поймать левые изображения, однако их уже гораздо проще и быстрее будет отсеять.


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____

Контакт актуален, подпись актуальна.
Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

Сообщений в этой теме
_LESTAT_   Смена Яркости точки или картинки.   23.10.2012, 13:10
_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
_LESTAT_   Спасибо большое ! Пока не опробовал, но выгля...   23.10.2012, 18:42
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, 3:25
Designed by Nickostyle