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

12 страниц V « < 9 10 11 12 >  
Ответить в эту темуОткрыть новую тему
> работа findimage
Elijah
сообщение 11.5.2016, 0:14
Сообщение #201


*

Registred
Сообщений: 4
Регистрация: 10.5.2016
Группа: Пользователи
Наличность: 0
Пользователь №: 17.975
Возраст: 30



Здравствуйте. У меня та же проблема, что и у Екатерины.
Не работает поиск картинки в перекрытом окне.
Скрипт у меня рабочий, всё нормально работает и ищет
Код
set $Poisk FindImage (360 200 915 300 (D:\Docs\Австрия\Images\Средняя.bmp) %crds 2)


Естественно, вместо двойки в конце ставлю workwindow или ctrl+A жму и вставляю handle - тогда и перестает искать даже в неперекрытом окне.
Код
set $Poisk FindImage (360 200 915 300 (D:\Docs\Австрия\Images\Средняя.bmp) %crds workwindow)

или
Код
set $Poisk FindImage (360 200 915 300 (D:\Docs\Австрия\Images\Средняя.bmp) %crds 918916)

Если нажать F, то просто всё черное.

Скрипт у мня для флеш-игры в браузерах. Пробовал FireFox и Chrome - одинаково.
Windows 7, Пилот пробовал версий 2.35, 2.36, 2.37

Я новичок, поэтому может я чего-то не понимаю и не так делаю. Когда жму на нужном окне Ctrl+A, то в самом Пилоте сверху появляется число, а следом за ним название окна. Я беру это число (handle) и вставляю в скрипт - правильно?
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 11.5.2016, 2:05
Сообщение #202


***********

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



аеро включено? пилот от админа?


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
cirus
сообщение 11.5.2016, 2:14
Сообщение #203


**********

Elder
Сообщений: 3.480
Регистрация: 18.8.2014
Группа: Пользователи
Наличность: 26362
Пользователь №: 16.971
Возраст: 29



Цитата
Скрипт у мня для флеш-игры в браузерах.

Ctrl + A на рамке браузера, а не на флеше. Возможно координаты поиска чуть больше надо будет сделать.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Elijah
сообщение 11.5.2016, 12:51
Сообщение #204


*

Registred
Сообщений: 4
Регистрация: 10.5.2016
Группа: Пользователи
Наличность: 0
Пользователь №: 17.975
Возраст: 30



Цитата(DarkMaster @ 11.5.2016, 2:05) *

аеро включено? пилот от админа?

Аеро - оформление в windows 7 которое? Да, отключено.
Запускать пробовал и от админа, и так - не ищет.

Цитата(cirus @ 11.5.2016, 2:14) *

Ctrl + A на рамке браузера, а не на флеше. Возможно координаты поиска чуть больше надо будет сделать.

Так и делаю. Нажимал Ctrl+A и вне окна флеша, и вверху окна браузера, где кнопки свернуть, закрыть браузер (handle один и тот же). Привязывается к нужному окну, весь скрипт работает, мышка нажимается, где надо, а вот картинки не ищет (handle нужного окна прописываю в findimage). пробовал расширить область поиска от 0, 0. При вызове окошка F всё черное. Ставлю в конце вместо числа handle двойку - нормально ищет.

Попробовал тупо на окне Гугла это проделать - все равно всё черное при вызове F.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
cirus
сообщение 11.5.2016, 13:11
Сообщение #205


**********

Elder
Сообщений: 3.480
Регистрация: 18.8.2014
Группа: Пользователи
Наличность: 26362
Пользователь №: 16.971
Возраст: 29



Цитата
Аеро - оформление в windows 7 которое? Да, отключено.

А должно быть включено. Т. е. выбрана тема не из базовых(упрощённых), а из Аэро.
Цитата
Попробовал тупо на окне Гугла это проделать - все равно всё черное при вызове F.

Проще проверять на рабочем столе.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 11.5.2016, 15:32
Сообщение #206


***********

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



Астер установлен? У меня были проблемы такие из-за него.


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Elijah
сообщение 11.5.2016, 17:13
Сообщение #207


*

Registred
Сообщений: 4
Регистрация: 10.5.2016
Группа: Пользователи
Наличность: 0
Пользователь №: 17.975
Возраст: 30



Цитата(cirus @ 11.5.2016, 13:11) *

А должно быть включено. Т. е. выбрана тема не из базовых(упрощённых), а из Аэро.

Спасибо! Включил Аэро. Заработало даже в перекрытом окне! Без этого Аэро никак?...
DarkMaster, и вам спасибо.

И еще вопрос, это мне предстоит еще. Вы описывали код, как искать сразу много картинок.
Цитата(cirus @ 11.10.2015, 11:52) *

код
Код
set linedelay 0
      //записываем картинки в массив, имена картинок 1.bmp, 2.bmp и т. д.
set $bmp ".bmp"
for #j 1 100       //число 100 это 100 картинок
   set %a [#j] #j$bmp
end_for

   //ищем картинки
for #i 1 size(%a)
  set #a findimage (0 0 1920 1080 (C:\Image\%a [#i]) %arr)
     if #a > 0       //если картинка найдена    
        log #i   //выводим в лог номер картинки
        break    //прерываем поиск или делаем что надо
     end_if
end_for
   stop_script



Для чего их в массив записывать? Не будет ли работать просто
Код
for #i 1 100
  set #a findimage (0 0 1920 1080 (C:\Image\#i.bmp) %arr)
     if #a > 0       //если картинка найдена    
        log #i   //выводим в лог номер картинки
        break    //прерываем поиск или делаем что надо
     end_if
end_for

Или не поймет он имя #i.bmp? Если не поймет, то приписать еще set $i #i , и еще можно ваше set $bmp ".bmp". Получив при этом вторую строчку
set #a findimage (0 0 1920 1080 (C:\Image\$i$bmp) %arr)
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 11.5.2016, 18:56
Сообщение #208


***********

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



Цитата
Или не поймет он имя #i.bmp? Если не поймет, то приписать еще set $i #i , и еще можно ваше set $bmp ".bmp".

Скорее всего оба поймет сейчас. Второй точно должен понять.

Цитата
Без этого Аэро никак?

Полноценно - нет. Можно попробовать уводить за пределы экрана окно(можно скриптом).


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
cirus
сообщение 12.5.2016, 2:15
Сообщение #209


**********

Elder
Сообщений: 3.480
Регистрация: 18.8.2014
Группа: Пользователи
Наличность: 26362
Пользователь №: 16.971
Возраст: 29



Цитата
Для чего их в массив записывать?

Если картинки будут называться цифрами (что не всегда удобно), то можно и не записывать.
Если же называть картинки именами, то без массива не обойтись.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Elijah
сообщение 12.5.2016, 19:43
Сообщение #210


*

Registred
Сообщений: 4
Регистрация: 10.5.2016
Группа: Пользователи
Наличность: 0
Пользователь №: 17.975
Возраст: 30



Цитата(DarkMaster @ 11.5.2016, 18:56) *

Полноценно - нет. Можно попробовать уводить за пределы экрана окно(можно скриптом).

Не работает (IMG:style_emoticons/default/sad.gif) Та часть, что за границами экрана, становится черной при поиске картинки, и там не ищется.

Цитата(cirus @ 12.5.2016, 2:15) *

Если картинки будут называться цифрами (что не всегда удобно), то можно и не записывать.
Если же называть картинки именами, то без массива не обойтись.

спасибо
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
veiron
сообщение 1.6.2016, 15:48
Сообщение #211


********

Master
Сообщений: 1.264
Регистрация: 22.5.2012
Группа: Пользователи
Наличность: 0
Из: Белоруссии
Пользователь №: 14.972



Код
    for #i 1 #countImage
        set $a findcolor (#amrex #amrey #sqwx62 #sqwy62 41 41 (%image[ #i ]) %arr  2 )
        for #n 1 $a 1
            set #fieldX ( %arr [ #n 1 ] - #startOffsetX ) / #cellOffsetX + 1
            set #fieldY ( %arr [ #n 2 ] - #startOffsetY ) / #cellOffsetY + 1
            set %field [ #fieldY #fieldX ] #i
        end_for
        save_array %field d:\field.txt
    end_for

Подскажите, если цвет не найден, в массиве и в field.txt ни чего не записывается, как можно сделать, чтобы вместо пусто, записалось к примеру цифра 8. Сам пол дня отсидел так и не понял куда что надо сделать.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 1.6.2016, 15:58
Сообщение #212


***********

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



вижу свой почерк. обычно к таким манипуляциям я добавляю коммент "оно работает не трогай и не проверяй", причем добавляю для себя.
самый тупой вариант indexOf получившегося массива, потом заменить все совпадения.


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
veiron
сообщение 1.6.2016, 16:07
Сообщение #213


********

Master
Сообщений: 1.264
Регистрация: 22.5.2012
Группа: Пользователи
Наличность: 0
Из: Белоруссии
Пользователь №: 14.972



Цитата(DarkMaster @ 1.6.2016, 15:58) *

вижу свой почерк. обычно к таким манипуляциям я добавляю коммент "оно работает не трогай и не проверяй", причем добавляю для себя.
самый тупой вариант indexOf получившегося массива, потом заменить все совпадения.


Да, это ваш скрипт, который остался не доделанным. Я его как мог, доделал на ифах. Но, получается что, на проверке, если массив пустой, выбивает ошибку:
Код
if %field [ #fgY #fgX ] and %field [ #fvY #fvX ]

А вот как это исправить, я не могу понять.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 1.6.2016, 16:25
Сообщение #214


***********

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



Если восьмерки достаточно, то indexOf и заменить потом все.
Вообще если выход за пределы массива, то будет выброшена ошибка в любом случае. Т.е. тут необходим контроль данных в первую очередь.


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
veiron
сообщение 1.6.2016, 17:25
Сообщение #215


********

Master
Сообщений: 1.264
Регистрация: 22.5.2012
Группа: Пользователи
Наличность: 0
Из: Белоруссии
Пользователь №: 14.972



Цитата(DarkMaster @ 1.6.2016, 16:25) *

Если восьмерки достаточно, то indexOf и заменить потом все.
Вообще если выход за пределы массива, то будет выброшена ошибка в любом случае. Т.е. тут необходим контроль данных в первую очередь.

8 будет достаточно если заменить пустую ячейку, а как это сделать на indexOf ?, я так понимаю надо заново перерисовать сетку.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 1.6.2016, 18:03
Сообщение #216


***********

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



indexOf вернет массив в котором будут содержаться индексы элементов.
т.е. нужно будет сделать примерно так:
Код
set %index indexOf(%field (""))
set #sizeIndex size(%index)
for #i 1 #sizeIndex 1
    set %field [%index[#i 1] %index[#i 2]] 8
end_for


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
veiron
сообщение 1.6.2016, 18:09
Сообщение #217


********

Master
Сообщений: 1.264
Регистрация: 22.5.2012
Группа: Пользователи
Наличность: 0
Из: Белоруссии
Пользователь №: 14.972



Цитата(DarkMaster @ 1.6.2016, 18:03) *

indexOf вернет массив в котором будут содержаться индексы элементов.
т.е. нужно будет сделать примерно так:
Код
set %index indexOf(%field (""))
set #sizeIndex size(%index)
for #i 1 #sizeIndex 1
    set %field [%index[#i 1] %index[#i 2]] 8
end_for


Сразу на первом цикле фор выбивает ошибку на set %field [%index[#i 1] %index[#i 2]] 8

лог:
Код
 load_array %field d:\field.txt
18:10:34 53 (autosaved_53.txt, 2): set %index indexOf(%field (""))
18:10:34 53 (autosaved_53.txt, 2): %("")) [ 2 1 ] =
18:10:34 53 (autosaved_53.txt, 3): set #sizeIndex size(%index)
18:10:34 53 (autosaved_53.txt, 3): #sizeIndex = 1
18:10:34 53 (autosaved_53.txt, 4): for #i 1 #sizeIndex(1) 1
18:10:34 53 (autosaved_53.txt, 5): set %field(%field [6) [%index(6)[#i(1) 1] %index(6)[#i(1) 2]] 8
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 1.6.2016, 19:07
Сообщение #218


***********

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



возможно ему не нравится уровень вложенности переменных в индексах массива. Попробуй через числовые переменные временные подставить.


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
veiron
сообщение 2.6.2016, 7:08
Сообщение #219


********

Master
Сообщений: 1.264
Регистрация: 22.5.2012
Группа: Пользователи
Наличность: 0
Из: Белоруссии
Пользователь №: 14.972



Цитата(DarkMaster @ 1.6.2016, 19:07) *

возможно ему не нравится уровень вложенности переменных в индексах массива. Попробуй через числовые переменные временные подставить.

Действительно, после замены все заработало. Спасибо.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Cockney
сообщение 15.8.2016, 17:38
Сообщение #220


********

Master
Сообщений: 1.404
Регистрация: 22.6.2013
Группа: Пользователи
Наличность: 22595
Пользователь №: 16.156



Как устроен быстрый поиск([#type] = 2 который) ? Первый я как понимаю, попиксельно сравнивает, учитывая погрешность, отсюда и скорость меньше, так ? А что во втором ? Перегонка в черно-белый цвет (матрица с 0 и 1) и сравнивание "весов" ? Учитывается ли тут погрешность ?
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

12 страниц V « < 9 10 11 12 >
Ответить в эту темуОткрыть новую тему
15 чел. читают эту тему (гостей: 15, скрытых пользователей: 0)
Пользователей: 0

 

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