|
|
  |
работа findimage |
|
|
Slide |
11.12.2013, 21:09
|

Registred
Сообщений: 7
Регистрация: 11.12.2013 Группа: Пользователи Наличность: 0
Пользователь №: 16.486
Возраст: 19

|
Цитата(DarkMaster @ 11.12.2013, 21:58) 
в приложение какое кликаете?
Не совсем понял вопроса... Упростил код set $bmp set $a findimage (10, 10 1280, 1024 (С:\Pirat Stori\Прокачка теней\1$bmp)%arr 2 100 1 ) msg Изображение найдено в координатах x= %arr[1 1] y= %arr[1 2] wait 40s if $a > 0 left %arr[1 1] %arr[1 2] end_if Но разумеется выдает "x= y= " На всякий привязал саму картинку
Прикрепленные файлы
1.bmp ( 1,47 килобайт )
Кол-во скачиваний: 221
|
|
|
|
Slide |
11.12.2013, 22:40
|

Registred
Сообщений: 7
Регистрация: 11.12.2013 Группа: Пользователи Наличность: 0
Пользователь №: 16.486
Возраст: 19

|
Цитата(DarkMaster @ 11.12.2013, 23:09)  если переименовать jpg в bmp, то он не станет бмп. Можно сразу в avi, чтобы вечерок скоротать можно было.
Так я его и не переименовывал, а как положено сохранил как bmp 24 разряд Ну вот хоть застрелись... он и цвет не видит set $a findcolor (0 0 1280 1024 1 1 (7100928 )%arr 2 1 ) msg Изображение найдено в координатах x= %arr[1 1] y= %arr[1 2] wait 40s if $a > 0 msg Изображение найдено в координатах x= %arr[1 1] y= %arr[1 2] left %arr[1 1] %arr[1 2] end_if Пробовал уменьшать зону поиска. Пробовал привязывать окно. Хз что ещё можно попробовать....
|
|
|
|
Slide |
12.12.2013, 9:47
|

Registred
Сообщений: 7
Регистрация: 11.12.2013 Группа: Пользователи Наличность: 0
Пользователь №: 16.486
Возраст: 19

|
Цитата(DarkMaster @ 12.12.2013, 3:35)  Прикрепленный файл является jpg, а не bmp. Я хз как и что вы делали. (IMG: http://i6.imageban.ru/out/2013/12/12/f27e3a19ab31fd1a741eca5dce879a6f.png) Это каким же его надо способом сохранять, чтобы он понимал его как bmp? Вообще есть хоть один наглядный пример подобного рабочего скрипта? Сохранил через паинт, сразу задал формат bmp картинку прикрепил Ну что я могу сказать, наткнулся на одну тему на форуме, где парень столкнулся с подобной проблемой, и как оказалось проблема была в программе, в версии 2.31 поиск по картинке идет изумительно хорошо.
Прикрепленные файлы
O.bmp ( 726 байт )
Кол-во скачиваний: 202
|
|
|
|
Slide |
12.12.2013, 16:26
|

Registred
Сообщений: 7
Регистрация: 11.12.2013 Группа: Пользователи Наличность: 0
Пользователь №: 16.486
Возраст: 19

|
Цитата(DarkMaster @ 12.12.2013, 17:18)  какая проблема? Почему 2.31? Там проблемы с утечками памяти при поиске, с координатами и черным цветом...
Проблема в том что в версии 2.34 он не видит изображения ( по крайней пере у меня так) получается так что она просто читает строки и нечего не происходит т.к. не находит картинок. В итоге скачал версию 2.31 написал один и тот же скрипт и вуаля всё прекрасно работает, картинки распознаются и тыкаются как нужно.
|
|
|
|
xand1r |
24.8.2015, 22:17
|

Registred
Сообщений: 5
Регистрация: 24.8.2015 Группа: Пользователи Наличность: 0
Пользователь №: 17.602
Возраст: 27

|
Цитата(DarkMaster @ 12.12.2013, 17:09) 
Приветствую! Нужна помощь в таком моменте: нашел я изображение, координаты его внесены в %arr нужно кликнуть по координате, отличающейся от полученных в массиве со сдвигом на нужное количество пикселей. ну вот то есть берем пример set #startX 310 set #startY 195 set #endX 660 set #endY 513 set $path E:\pictures\testfindimage\ set %cash[1] cid.bmp set $a findimage (#startX #startY #endX #endY ($path%cash[1]) %arr 2) if $a > 0 msg Изображение найдено в координатах X= %arr[1 1] Y= %arr[1 2] // здесь получаем координаты x= 162 y=144, а кликнуть надо по 72, 187 else log $a end_if end_script Ну вот никак до меня глупого не доходит ,что нужно сделать, подскажите плиз. Ну вродь разобрался по примерам set $a findimage (#startX #startY #endX #endY ($path%cash[1].bmp) %crds 2) if $a > 0 //msg Изображение найдено в координатах X= %crds[1 1] Y= %crds[1 2] set #Xb %crds[1 1]-93 set #Yb %crds[1 2]+44 left #Xb, #Yb
|
|
|
|
xand1r |
25.8.2015, 11:16
|

Registred
Сообщений: 5
Регистрация: 24.8.2015 Группа: Пользователи Наличность: 0
Пользователь №: 17.602
Возраст: 27

|
Цитата(DarkMaster @ 24.8.2015, 22:26)  Это не работает? Поставьте пробелы до и после знаков +/-.
Да вродь все работает, проверял на различных окнах. Смущает тока сам findimage, потому как он либо находит, либо нет, ну то есть если вот я сделал скрин экрана в браузере, вырезал нужный элемент в пэинте и сохранил как образец и начинаю сразу же искать в том окне в котором делал скрин(с указанием хэндла офк), то все работает. Если же перезапустить(опять ж с указанием хэндла), то может и перестать работать, пока не сделаю новый образец по новому экрану, есть конечно подозрения, что сайт немного меняет изображение и findimage поэтому не находит. Отсюда логическое действие - снизить точность поиска, значит я дописываю 1 70 1 10 и начинается вообще чет непонятное - если добавить if $a > 0 msg Изображение найдено в координатах X= %arr[1 1] Y= %arr[1 2] else log $a end_if то он типа находит, но выводит Изображение найдено в координатах X= , Y= то есть координат вообще нет, но "нашло", как это вообще?
|
|
|
|
xand1r |
25.8.2015, 11:37
|

Registred
Сообщений: 5
Регистрация: 24.8.2015 Группа: Пользователи Наличность: 0
Пользователь №: 17.602
Возраст: 27

|
Цитата(DarkMaster @ 25.8.2015, 10:21)  Неплохо бы воспроизвести. Нужен фон(скрин всего экрана), искомое изображение, точный код.
deviation очень большой при такой точности. Больше 7 ставить не рекомендую и то это уже не очень. Я стараюсь больше 3 не поднимать - там шанс ложняков минимален, где-то с 8 шанс резко возрастает, иногда раньше(зависит от фона).
Спасиб за совет про deviation, выкладывать пока не буду, проверю как раз совет, мб поэтому и слетает. Не, даж с 1 99 1 2 "находит" с пустыми координатами, если ж ничего вообще не дописывать, то находит, но только если изображение полностью соответствует пример: set #startX 1 set #startY 100 set #endX 353 set #endY 426 set $path C:\findimage\ set %cash[1] treebeast set $a findimage (#startX #startY #endX #endY ($path%cash[1].bmp) %crds 2) //сюда вот и дописываю, но чет не работает if $a > 0 msg Изображение найдено в координатах X= %crds[1 1] Y= %crds[1 2] //тут выдает пустые X= , Y= set #Xb %crds[1 1]-197 //ну а тут выдает ошибку, если дописывать параметры, потому как координаты пустые set #Yb %crds[1 2]+44 left #Xb, #Yb else log $a end_if end_script
|
|
|
|
xand1r |
25.8.2015, 11:56
|

Registred
Сообщений: 5
Регистрация: 24.8.2015 Группа: Пользователи Наличность: 0
Пользователь №: 17.602
Возраст: 27

|
Цитата(cirus @ 25.8.2015, 10:38)  Скорее всего имя массива отличается. X= %arr[1 1] Y= %arr[1 2], в самом findimage случайно не %crds указан?
Да не, в этом плане все нормально, прост я и то и другое пробовал, вот поэтому и промелькивает у мня и то и другое имя.
screen.bmp ( 2,99 мегабайт )
Кол-во скачиваний: 288 скрин
treebeast.bmp ( 3,99 килобайт )
Кол-во скачиваний: 278 вырезанная часть искомого изображения(текст в картинке)
|
|
|
|
xand1r |
25.8.2015, 22:34
|

Registred
Сообщений: 5
Регистрация: 24.8.2015 Группа: Пользователи Наличность: 0
Пользователь №: 17.602
Возраст: 27

|
Цитата(xand1r @ 25.8.2015, 10:56)  Да не, в этом плане все нормально, прост я и то и другое пробовал, вот поэтому и промелькивает у мня и то и другое имя.
screen.bmp ( 2,99 мегабайт )
Кол-во скачиваний: 288 скрин
treebeast.bmp ( 3,99 килобайт )
Кол-во скачиваний: 278 вырезанная часть искомого изображения(текст в картинке) В общем глупый я, значения типа, точности, количества и оттенка за скобки поставил, поправил и все заработало, так же выяснилось почему были сбои при поиске - менял настройки качества изображения в флэшплеере и естественно на разном качестве разные картинки по мнению пилота(ну или погрешность слишком высока).
|
|
|
|
|
  |
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|