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

12 страниц V « < 5 6 7 8 9 > »   
Ответить в эту темуОткрыть новую тему
> работа findimage
DarkMaster
сообщение 14.10.2012, 9:56
Сообщение #121


***********

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



Цитата
Сегодня попробую создать для каждой картинки свой массив цветов.

Я про массив кнайту писал. Делать это средствами пилота не стоит - будет огромный тормоз. Если камень не спарк, то столько ядер у тебя нет, чтобы оно окупилось.


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


*********

ex-Moderator UOPilot
Сообщений: 2.440
Регистрация: 8.10.2010
Группа: Пользователи
Наличность: 0
Из: Киев
Пользователь №: 13.093



Насчет масссива цветов - не совсем понял для чего это нужно в данном случае?


--------------------
Полезные советы - читать всем! UOWiki
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 14.10.2012, 10:49
Сообщение #123


***********

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



Наоборот. Данный случай еще одно обоснование кнайту о необходимости распараллеливания поиска. Массив имелся ввиду скрытый от нас(скрин), точнее там битовая маска, если память не изменяет.



По данной теме. Чем меньше картинка тем быстрее выполняется поиск. Обычно это дает значительно бОльший эффект, чем уменьшение области поиска.

Сообщение отредактировал DarkMaster - 14.10.2012, 10:49


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


***

Novice
Сообщений: 59
Регистрация: 12.2.2011
Группа: Пользователи
Наличность: 0
Из: Мариуполь
Пользователь №: 13.442
Возраст: 27



Цитата(Zeleax @ 14.10.2012, 9:42) *

в начале скрипта
set linedelay 1
есть?


Да, есть. Я и лайн делай и так выставляю 1. А массивы я сделал из цветов по одной горизонтальной линии (всего 74 или 75 точек). Этого должно хватить, и, думаю, тормозить не будет (IMG:style_emoticons/default/biggrin.gif) Осталось теперь все до кучи собрать, но это уже мелочи (IMG:style_emoticons/default/cool.gif)
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
WKnight
сообщение 17.10.2012, 12:17
Сообщение #125


********

Разработчик UO Pilot'а
Сообщений: 1.639
Регистрация: 9.1.2006
Группа: Пользователи
Наличность: 0
Пользователь №: 4.688



Цитата
Второй метод поиска вроде на скриншоте основан? Я правильно понимаю, что все финдимиджы последовательно сделают скрины образуя очередь?
По идее второй метод можно реализовать многопоточным наплевав на гуй

Оно скриншотится в бмп, с автоматическим приведением палитры к нужной. Другой способ мне пока некогда ковырять, слишком трудоемко.
Из-за бмп распаралелить не получится, в тредах оно страшно глючит. Более-менее стабильной работы удалось добиться только вынеся скрин и соответственно поиск в контекст основного потока, отсюда и очередь.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Bu11dozer
сообщение 9.11.2012, 21:23
Сообщение #126


**

Neophyte
Сообщений: 21
Регистрация: 5.7.2011
Группа: Пользователи
Наличность: 0
Пользователь №: 13.774
Возраст: 26



Все прочитал, но так и не нашел тут рабочего скрипта для себя =(

Я в findimage не разбираюсь вообще, да и в массивах тоже не особо...
Строил свои скрипты на if, gosub и тд

Может кто покажет готовый скрипт? нужно найти небольшую картинку на экране, кликнуть по ней, и вернуться к началу скрипта.

Взял последний скрипт из этой темы, который по идее самый правильный... а может и нет =\
В общем он у меня не пашет =)

Код

set $a 0
set $a1 0
while $a < 1 or $a1 < 1
set $a Findimage (0, 0 2000, 2000 (D:\Temp\UOPilot\add.png) %arr 2)
set $a1 Findimage (0, 0 2000, 2000 (D:\Temp\UOPilot\add.png) %arr 2)
if $a > 0 or $a1 > 0
left 317, 383 //клик 1
else
wait 50
left 349, 564 //клик 2
end_if
end_while
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Zeleax
сообщение 9.11.2012, 23:29
Сообщение #127


*********

ex-Moderator UOPilot
Сообщений: 2.440
Регистрация: 8.10.2010
Группа: Пользователи
Наличность: 0
Из: Киев
Пользователь №: 13.093



картинки bmp... И привязку скрипта к окну не забудьте сделать по Ctrl+A
Код
:start
set $a 0
while $a < 1
  wait 50
  set $a Findimage (0, 0 2000, 2000 (D:\Temp\UOPilot\add.bmp) %arr 2)
end_while
left %arr[1 1] %arr[1 2] //клик
wait 500
goto start


Сообщение отредактировал Zeleax - 9.11.2012, 23:56


--------------------
Полезные советы - читать всем! UOWiki
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Bu11dozer
сообщение 10.11.2012, 10:02
Сообщение #128


**

Neophyte
Сообщений: 21
Регистрация: 5.7.2011
Группа: Пользователи
Наличность: 0
Пользователь №: 13.774
Возраст: 26



По большому счету начал въезжать, но все равно скрипт не находит картинку...
Чем делать картинки принципиально ? Я делаю стандартными ножницами винды, и пересохранил потом в .bmp
Мне кажется что тут уже проблема в погрешности, как это добавить ?

set $a Findimage (0, 0 2000, 2000 (D:\Temp\UOPilot\add.bmp) %arr 2 60) - так ? просто так тоже не находит....
set $a Findimage (0, 0 2000, 2000 (D:\Temp\UOPilot\add.bmp) %arr 2 80 1 50) - даже так не пашет.

p/s если это поможет, то все это в браузере, если точнее в VK.com
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 10.11.2012, 10:47
Сообщение #129


***********

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



Браузер какой? Привязываете пилот каким образом?

Картинка:
Скрин в паинт, вырезать кусок, сохранить в бмп 24 бита. Готово.


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


**

Neophyte
Сообщений: 21
Регистрация: 5.7.2011
Группа: Пользователи
Наличность: 0
Пользователь №: 13.774
Возраст: 26



Браузер fifefox
Привязка по CTRL+A Но можно и по другому в принципе, как лучше ?

Картинка сделана по вашему рецепту. Итог: не находит =)


СТОП!!! ура работает ! похоже все дело в картинке было.... Ну все, живем! Спасибо за помощь!
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
TEvGenius
сообщение 15.11.2012, 11:45
Сообщение #131


*

Registred
Сообщений: 6
Регистрация: 15.11.2012
Группа: Пользователи
Наличность: 0
Пользователь №: 15.470



Люди! Вот смотрю я на вас и недоумеваю... (IMG:style_emoticons/default/blink.gif)
Че Вы привязались к этой тормознутой функции findimage??? (IMG:style_emoticons/default/huh.gif) Вам и десяти ядер будет мало, чтобы все нормально - быстро заработало. Умоляю вас, не тупите! Ищите по пикселям с цветом! Один пиксель - не уникален!?... (IMG:style_emoticons/default/mad.gif) А 3? 9? 999!? в конце то концов - скрипт будет работать в разы быстрее с точками, чем с findimage!
P.S. Делайте проще, и люди к вам потянутся! Возможно не в тему - есть возможность отключить анимацию, чтобы картинки были статичны? Отключаем нафиг! И наслаждаемся работой с пикселем... тремя... девяностодевятью... (IMG:style_emoticons/default/wink.gif)
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 15.11.2012, 11:59
Сообщение #132


***********

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



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


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


*

Registred
Сообщений: 6
Регистрация: 15.11.2012
Группа: Пользователи
Наличность: 0
Пользователь №: 15.470



Цитата(DarkMaster @ 15.11.2012, 11:59) *

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

Перечислим часть возникших проблем при использовании findimage (из последнего):
Цитата

Мне кажется что тут уже проблема в погрешности, как это добавить ?
(IMG:style_emoticons/default/ohmy.gif) (IMG:style_emoticons/default/ohmy.gif) (IMG:style_emoticons/default/ohmy.gif)
Какая погрешность? Что вы вообще городите???
Предлагаю решение: используйте поиск по точкам!
Цитата

Ждать пробовали? Сколько висит? Загружен ли процессор пилотом в это время? Насколько? Изображение большое? Метод вроде не самый шутрый, площадь поиска приличная, если еще и картинка здоровая, то может просто долго искать.
(IMG:style_emoticons/default/huh.gif) Сколько вопросов с одной маленькой функцией...
Предлагаю решение: используйте поиск по точкам!
Дальше расписывать не имеет смысла... с findimage слишком много вопросов - да и не понятно для каких целей ее вообще применять, ели поиск по точкам ее заменяет с лихвой и без проблем!

Бедным пользователям - игрокам не знакомым с азами программирования, очень сложно понять, а тем более применить, функцию findimage, чем указать несколько произвольных точек в операторе if и не "парить" голову.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
WKnight
сообщение 16.11.2012, 14:58
Сообщение #134


********

Разработчик UO Pilot'а
Сообщений: 1.639
Регистрация: 9.1.2006
Группа: Пользователи
Наличность: 0
Пользователь №: 4.688



Одно из весомых:
финдимедж умеет искать в перекрытом окне, иф не умеет и не будет.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Zeleax
сообщение 16.11.2012, 15:00
Сообщение #135


*********

ex-Moderator UOPilot
Сообщений: 2.440
Регистрация: 8.10.2010
Группа: Пользователи
Наличность: 0
Из: Киев
Пользователь №: 13.093



Цитата(TEvGenius @ 16.11.2012, 14:24) *

да и не понятно для каких целей ее вообще применять, ели поиск по точкам ее заменяет с лихвой и без проблем!

Бедным пользователям - игрокам не знакомым с азами программирования, очень сложно понять, а тем более применить, функцию findimage, чем указать несколько произвольных точек в операторе if и не "парить" голову.

вы забываете, что
Цитата
нужно найти небольшую картинку на экране

Точное местоположение, судя по всему, заранее неизвестно. А если еще у картинки нет уникального цвета пикселей, то искать "по точкам" неудобно, как минимум

Сообщение отредактировал Zeleax - 16.11.2012, 15:09


--------------------
Полезные советы - читать всем! UOWiki
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Bu11dozer
сообщение 17.11.2012, 5:10
Сообщение #136


**

Neophyte
Сообщений: 21
Регистрация: 5.7.2011
Группа: Пользователи
Наличность: 0
Пользователь №: 13.774
Возраст: 26



Цитата(TEvGenius @ 16.11.2012, 15:24) *

с findimage слишком много вопросов - да и не понятно для каких целей ее вообще применять, ели поиск по точкам ее заменяет с лихвой и без проблем!


Вот как поймете, тогда и будете "Предлагать решения"
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
TEvGenius
сообщение 19.11.2012, 17:35
Сообщение #137


*

Registred
Сообщений: 6
Регистрация: 15.11.2012
Группа: Пользователи
Наличность: 0
Пользователь №: 15.470



Цитата(Bu11dozer @ 17.11.2012, 5:10) *

Вот как поймете, тогда и будете "Предлагать решения"

За короткое время работы с UO Pilot, как минимум для меня как для начинающего, проще и быстрей было использовать поиск по точкам чем заморачиваться с картинками. Bu11dozer это всего лишь предложение решения, если оно вас не устраивает - делайте по своему (IMG:style_emoticons/default/smile.gif) Вас никто не принуждает его придерживаться. По поводу поиска картинки в произвольном месте - согласен, возможно в некоторых случаях только это и спасет, но опять же - поиск по точкам вполне можно реализовать (далее это я обсуждать не буду поскольку каждая игра требует своего подхода).
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 19.11.2012, 19:56
Сообщение #138


***********

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



По точкам, как правило, не поиск, а просто проверка. Тут формулировка очень много значит.


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


*

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



set $a FindImage (#StartX #StartY #EndX #EndY ($filename) %ResultArray [#type [#accuracy [#count [#deviation]]]] [abs])
<$a> - переменная, в которую записывается процент точности найденного изображения или количество найденных изображений.

А как конкретно узнать? Количество или процент точности?
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 19.10.2013, 18:05
Сообщение #140


***********

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



А никак... Как правило можно точно понять, что именно перед нами. Вряд ли у вас будет по 80+ объектов находиться.
У меня в одном из скриптов есть такая вставка:
Код

if $a > 60
    set $a 1
end_if


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

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

 

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