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

> Смена Яркости точки или картинки., Находим картинку или несколько связаных точек, даже при смене яркости.
_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_
сообщение 24.10.2012, 10:08
Сообщение #2


****

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



Сколько не пытался, так ничего и не понял (IMG:style_emoticons/default/sad.gif)
С помощью вашего кода(чуть чуть упорядоченого) с добавлением определения цветов.
Получил три цвета в RGB , получил так называемый коэффициент.
Но вот что делать с ним я так и не знаю, потому что непонимаю , что означает число коэффициента.
И как мне из полученных чисел вычислить, что это теже точки, пусть и с изменившейся яркостью. Вы вроде и разжевали все, но всеравно не понятно. Что делаьт с этими цифрами, прошу сжалиться над моим низким интелектом и продолжить помощь! Вот что вышло из вашего кода:
Цитата

Запуск первый, при яркой кнопке
10:59:56 4 (, 17): - 1 1 ] 8
10:59:56 4 (, 18): - 1 1 ] 93
10:59:56 4 (, 19): - 1 1 ] 57
10:59:56 4 (, 20): - --------
10:59:57 4 (, 17): - 2 1 ] 5
10:59:57 4 (, 18): - 2 1 ] 75
10:59:57 4 (, 19): - 2 1 ] 47
10:59:57 4 (, 20): - --------
10:59:58 4 (, 17): - 3 1 ] 7
10:59:58 4 (, 18): - 3 1 ] 141
10:59:58 4 (, 19): - 3 1 ] 65
10:59:58 4 (, 20): - --------
10:59:58 4 (, 23): - ================
11:00:01 4 (, 29): - coefBase 498
11:00:04 4 (, 42): - 1 1 ] 16
11:00:05 4 (, 42): - 1 2 ] 186
11:00:05 4 (, 42): - 1 3 ] 114
11:00:05 4 (, 44): - -------------
11:00:06 4 (, 42): - 2 1 ] 10
11:00:06 4 (, 42): - 2 2 ] 150
11:00:06 4 (, 42): - 2 3 ] 94
11:00:07 4 (, 44): - -------------
11:00:07 4 (, 42): - 3 1 ] 14
11:00:07 4 (, 42): - 3 2 ] 283
11:00:08 4 (, 42): - 3 3 ] 130
11:00:08 4 (, 44): - -------------
Тут вроде бы все понятно, скрипт читал цвета, а в коофициэнте выдал в два раза более яркие.(Хотя поидее должен был выдать в два раза более тусклые, Но не суть важно. Важно то, что начальные цвета и коэффициент (чтобы это небыло) различаются почти в два раза.
Запуск два, (по тем же координатам) но когда кнопка стала тусклой.
11:01:05 4 (, 0): - mode compact
11:01:08 4 (, 17): - 1 1 ] 5
11:01:08 4 (, 18): - 1 1 ] 56
11:01:08 4 (, 19): - 1 1 ] 34
11:01:08 4 (, 20): - --------
11:01:09 4 (, 17): - 2 1 ] 3
11:01:09 4 (, 18): - 2 1 ] 45
11:01:09 4 (, 19): - 2 1 ] 28
11:01:09 4 (, 20): - --------
11:01:10 4 (, 17): - 3 1 ] 4
11:01:10 4 (, 18): - 3 1 ] 85
11:01:10 4 (, 19): - 3 1 ] 39
11:01:10 4 (, 20): - --------
11:01:10 4 (, 23): - ================
11:01:13 4 (, 29): - coefBase 299
11:01:16 4 (, 42): - 1 1 ] 16
11:01:17 4 (, 42): - 1 2 ] 187
11:01:17 4 (, 42): - 1 3 ] 113
11:01:17 4 (, 44): - -------------
11:01:18 4 (, 42): - 2 1 ] 10
11:01:18 4 (, 42): - 2 2 ] 150
11:01:18 4 (, 42): - 2 3 ] 93
11:01:18 4 (, 44): - -------------
11:01:19 4 (, 42): - 3 1 ] 13
11:01:19 4 (, 42): - 3 2 ] 284
11:01:20 4 (, 42): - 3 3 ] 130
11:01:20 4 (, 44): - -------------
Что коэффициент выдал здесь, я вообще не понимаю, и прошу разъяснения.
Видимо пока я не пойму, зачем он нужен и что он вычисляет, и как это использовать для моих целей, то так и буду тупить.
Прошу вас DarkMaster-сенсей, помогите достичь просветления.

Сам код:
Цитата

log mode compact
log clear

get color #col1 150, 105
get color #col2 155, 110
get color #col3 160, 115
set %color [ 1 1 ] #col1
set %color [ 2 1 ] #col2
set %color [ 3 1 ] #col3


//Для начала разложим их на каналы

for #i 1 3 1
set %colorRGB [ #i 1 ] %color [ #i 1 ] / 256 / 256 // Синий
set %colorRGB [ #i 2 ] ( %color [ #i 1 ] - %color [ #i 1 ] / 256 / 256 * 65536 ) / 256 // Зеленый
set %colorRGB [ #i 3 ] %color [ #i 1 ] - %color [ #i 1 ] / 256 * 256 // Красный
log [ #i 1 ] %colorRGB [ #i 1 ]
log [ #i 1 ] %colorRGB [ #i 2 ]
log [ #i 1 ] %colorRGB [ #i 3 ]
log --------
end_for
// Теперь вычислим сумму каналов для того, чтобы узнать какой процент составляет каждый канал.
log ================
for #i 1 3 1
for #n 1 3 1
set #coefBase #coefBase + %colorRGB [ #i #n ]
end_for
end_for
log coefBase #coefBase

for #i 1 3 1
for #n 1 3 1
set %colorRGB [ #i #n ] %colorRGB [ #i #n ] * 1000
end_for
end_for

// Далее вычисляем коэффициенты для каждого из каналов.

for #i 1 3 1
for #n 1 3 1
set %colorCoefSource [ #i #n ] %colorRGB [ #i #n ] / #coefBase
log #i #n ] %colorCoefSource [ #i #n ]
end_for
log -------------
end_for
stop_script
Пользователь в офлайне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
_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
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