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

2 страниц V  1 2 >  
Ответить в эту темуОткрыть новую тему
> Точность поиска Findimage + окно
Levo222
сообщение 4.5.2018, 17:38
Сообщение #1


*****

Journeyman
Сообщений: 399
Регистрация: 18.11.2017
Группа: Пользователи
Наличность: 0
Пользователь №: 18.689



Есть строка set #EU findimage(0 0 200 100 (C:\EU.bmp) %arr #Alert) но ищет не точно
которая ищет в окне #Alert
но как сделать чтобы этот поиск был точнее, если добавлять в конец 2 100 20 5 это не работает
или добавлять %arr2 2 100 20 5 тогда тоже не работает.
может в скобки добавить ... set #EU findimage(0 0 200 100 (C:\EU.bmp) %arr2 (%arr #Alert) 2 100 20 5) или что? Куда поставить параметры поиска?
пробовал менять местами не помогает.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 4.5.2018, 18:21
Сообщение #2


***********

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



Для начала было бы неплохо открыть справку...
FindimageОписание FindImage - оператор поиска сохраненного изображения в области заданной начальными и конечными координатами по оси XY.

Формат картинки должен быть: bmp 24 бита.
Цвет крайнего пикселя в левом верхнем углу изображения считается "цветом фона", и при поиске картинки на экране не учитывается. Например, цвет этого пикселя красный (255). В этом случае все пиксели красного цвета присутствующие на искомой картинке будут считаться фоновыми (прозрачными) и не будут сравниваться с тем, что присутствует на экране. Поэтому, нельзя чтобы в файле-картинке все пиксели были одного цвета. Нужно сделать, чтобы хотя бы один левый верхний пиксель цветом отличался от остальных.

Синтаксис Привязка к окну: опционально.
Работа со свернутым окном: нет.
Работа с перекрытым окном: Да. Привязка к окну обязательна. Aero (темы Windows) должен быть включен. Если был установлен Астер, то он должен быть отключен, а система перезагружена.

set #a FindImage (#StartX #StartY #EndX #EndY ($filename) %ResultArray [#type [#accuracy [#count [#deviation]]]] [abs])
Где:
<#a> - переменная, в которую записывается результат работы команды findimage:
Если #a = 0, значит поиск был произведён, но картинка не найдена.
Если найдена только 1 картинка, то будет записан процент точности найденного изображения.
Если найдено несколько картинок, то будет записано количество найденных изображений.
Однозначно определить сколько именно картинок было найдено командой FindImage лучше всего по размеру массива %ResultArray с помощью функции Size(%ResultArray).
#a < 0 означает, что FindImage не смог произвести поиск- либо была обнаружена ошибка в написании параметров команды, либо проблемы с самим файлом картинки.
Если #a = -4, значит файл картинки не найден / в неправильном формате / повреждён / все пиксели файла одного цвета. Чаще всего- путь к файлу указан неправильно.
<#StartX #StartY> - координаты левого верхнего угла области поиска.
<#EndX #EndY> - координаты правого нижнего угла области поиска.
<($filename)> - путь к сохранённому изображению (только файл формата bmp). Путь к изображению может быть указан как абсолютный - (C:\programms\pilot\images\), так и относительный - (images\). Указывается в круглых скобках. При использовании пробелов в адресе используйте кавычки либо строковую переменную(например $myPatch), предварительно присвоив ей(переменной) необходимый адрес.
<%ResultArray> - результирующий массив, в который записываются координаты изображения. Координатами изображения считается пиксель левого верхнего угла изображения. Если найдено несколько изображений, то координаты всех найденных изображений. Каждая строка массива хранится данные по отдельному найденному изображению: в первой колонке- координата X, во второй колонке- координата Y.
[#type] - тип поиска. Может принимать значения: 1 (надежный), 2 (быстрый). Настоятельно рекомендуется использовать быстрый способ поиска, кроме случаев с некорректным обнаружением изображения. По умолчанию 2й тип поиска.
[#accuracy] - точность поиска. Указывается в процентах. Используется для отсева изображений не достаточно схожих с оригиналом. По умолчанию значение равно 80%.
[#count] - ограничение количества найденных изображений. По умолчанию установлено для одного изображения - значение 1, для всех возможных - значение -1.
[#deviation] - Погрешность оттенка. Пример: есть погрешность 3%. точка имеет цвет 100 120 130, 255*3%=7, соответственно 100+/-7. При этом все цвета в пределах (93 113 123)-(107 127 137) будут считаться совпадением.
[abs] - флаг использования абсолютных координат. Если он указан то поиск происходит относительно левого верхнего угла экрана. Без флага поиск происходит относительно левого верхнего угла рабочего окна(привязанного через ctrl+a либо иным способом).

Если вы ищете на экране текст в виде картинки, и в системе используется сглаживание шрифтов, то могут быть проблемы с нахождением, даже если вы видите, что такой текст на экране есть. Все-равно при включенном сглаживании искомая картинка может незначительно отличаться от того что есть на экране. В этом случае рекомендуется снизить точность поиска либо отключить сглаживание шрифтов на компьютере, где используется findimage.

Коды ошибок FindImage:
'-1' упало при поиске, точная причина не известна
'-2' не нашли открывающую скобку после имени функции
'-3' не найдено пути в скобках
'-4' ошибка поиска файла
'-5' ошибка обработки искомого изображения
'-6' ошибка получения изображения с экрана.

Иногда требуется сделать клик не по самому изображению, а со смещением. Указывать можно как вначале скрипта так и перед функцией Findimage.

set findoffsetx 50 //смещение вправо на 50 пикселей
set findoffsety 30 //смещение вниз на 30 пикселей

set findoffsetx -40 //смещение вверх на 40 пикселей
set findoffsety -60 //смещение влево на 60 пикселей
Примеры // Пример 1
// перед запуском скрипта не забываем привязать скрипт к рабочему окну (Ctrl+A)
set #startX 100
set #startY 120
set #endX 300
set #endY 540
set $path "C:\Program Files\UOPilot\images\"
set %cash[1] картинка
// будем искать картинку из файла C:\Program Files\UOPilot\images\картинка.bmp
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]. Кликнем на нём...
left %crds[1 1] %crds[1 2] // кликнули
else
msg Изображение не найдено
end_if
В результате работы, если в заданной области картинка обнаружена, в массив %crds[1 1] будет записано значение координаты X для первой картинки, а в %crds[2 2] - значение Y для второй картинки.

// Пример 2
//поиск изображений (если будет найдено больше 20 поиск прекратится) с точностью 70% и отклонением в цвете 5%
set #check FindImage (#startX #startY #endX #endY (images\step.bmp) %crds 2 70 20 5)
// Пример 3
set #b FindImage (10 100 30 150 (d:\myImages\wolf.bmp) %arr 2 80 20 5)
// Пример 4
// будем искать картинку из файла картинка2.bmp, находящуюся в папке пилота
set #a findimage (100 120 1024 700 (\картинка2.bmp) %arr 2 80 -1)
set #w size (%arr) // получим число найденных картинок
msg Найдено картинок: #w
for #i 1 #w
set #x %arr [#i 1]
set #y %arr [#i 2]
msg картинка в координатах: #x #y
end_for
// Пример 5
// поиск нескольких картинок
// перед запуском скрипта не забываем привязать скрипт к рабочему окну (Ctrl+A)
set #startX 0
set #startY 0
set #endX 1920
set #endY 1080
set $path "C:\Program Files\UOPilot\images\" // путь к картинкам
set %image [1] картинка1 // имя изображения
set %image [2] картинка2 // имя второго изображения
set %image [3] картинка3 // третьего
set %image [4] карти // имена могут быть любыми

set #size size(%image) // всего картинок
hint Всего картинок #size

:metka
for #i 1 #size 1 // цикл для поиска картинок
set #a findimage (#startX #startY #endX #endY ($path%image[#i].bmp) %arr 2)
if #a > 0
move %arr[1 1] %arr[1 2] // переместить курсор на найденную картинку
wait 500 // ждать 0,5 секунды
end_if
end_for
wait 3000 // ждать 3 секунды
goto metka

Примеры поиска картинки в перекрытом(не свёрнутом) окне:
Привязка к окну обязательна. Aero (темы Windows 7) должен быть включен. Если был установлен Астер, то он должен быть отключен, а система перезагружена.
Окно может быть перекрыто полностью, частично или вообще не перекрыто. Может находиться за пределами экрана.
Иногда требуется указывать родительское окно. В окне пилота есть кнопка 'F', при нажатии открывается окно, в котором отображается что "видит" пилот при поиске (Findcolor, Findimage). Если в окне "чёрный квадрат", значит указано не то окно. В Windows 10 работает не во всех приложениях, может потребоваться установка Aero Glass.

// Пример 6
//Чтобы понять как работает поиск можно попробовать на рабочем столе найти значок 'Мой компьютер'.
//Делаем картинку значка в формате bmp, называем 'мойкомпьютер' (без кавычек), закидываем на диск 'C:'.
//При этом можно перекрыть значок каким-нибудь окном.

//Не забываем сделать привязку Ctrl + A.
set #a FindImage(0 0 1920 1080 (C:\мойкомпьютер.bmp) %arr workwindow)
if #a > 0
log Картинка найдена. Наведём на неё курсор.
move %arr [1 1] %arr [1 2]
End_script
else
msg Картинка не найдена.
end_if
// Пример 7
//Ищем картинку в окне Yandex, при этом не важно какое указано окно через Ctrl + A или сделано рабочим через 'set workwindow'.
set #handle FindWindow(Yandex) //поиск окна с именем Yandex
set #a FindImage(0 0 1920 1080 (C:\UOPilot\images\image.bmp) %arr #handle 80 -1 3) //поиск изображения
hint #a //в правом нижнем углу отображён результат поиска
if #a > 0
move %arr [1 1] %arr [1 2] #handle //навести курсор на первую найденную картинку
//обратите внимание, что в команде 'move' указан хендл окна
//т. е. курсор будет перемещён как будто привязка сделана к окну Yandex
End_script
end_if


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


*****

Journeyman
Сообщений: 399
Регистрация: 18.11.2017
Группа: Пользователи
Наличность: 0
Пользователь №: 18.689



/
Цитата(DarkMaster @ 4.5.2018, 22:21) *

Для начала было бы неплохо открыть справку...
FindimageОписание FindImage - оператор поиска сохраненного изображения в области заданной начальными и конечными координатами по оси XY.

Формат картинки должен быть: bmp 24 бита.
Цвет крайнего пикселя в левом верхнем углу изображения считается "цветом фона", и при поиске картинки на экране не учитывается. Например, цвет этого пикселя красный (255). В этом случае все пиксели красного цвета присутствующие на искомой картинке будут считаться фоновыми (прозрачными) и не будут сравниваться с тем, что присутствует на экране. Поэтому, нельзя чтобы в файле-картинке все пиксели были одного цвета. Нужно сделать, чтобы хотя бы один левый верхний пиксель цветом отличался от остальных.

Синтаксис Привязка к окну: опционально.
Работа со свернутым окном: нет.
Работа с перекрытым окном: Да. Привязка к окну обязательна. Aero (темы Windows) должен быть включен. Если был установлен Астер, то он должен быть отключен, а система перезагружена.

set #a FindImage (#StartX #StartY #EndX #EndY ($filename) %ResultArray [#type [#accuracy [#count [#deviation]]]] [abs])
Где:
<#a> - переменная, в которую записывается результат работы команды findimage:
Если #a = 0, значит поиск был произведён, но картинка не найдена.
Если найдена только 1 картинка, то будет записан процент точности найденного изображения.
Если найдено несколько картинок, то будет записано количество найденных изображений.
Однозначно определить сколько именно картинок было найдено командой FindImage лучше всего по размеру массива %ResultArray с помощью функции Size(%ResultArray).
#a < 0 означает, что FindImage не смог произвести поиск- либо была обнаружена ошибка в написании параметров команды, либо проблемы с самим файлом картинки.
Если #a = -4, значит файл картинки не найден / в неправильном формате / повреждён / все пиксели файла одного цвета. Чаще всего- путь к файлу указан неправильно.
<#StartX #StartY> - координаты левого верхнего угла области поиска.
<#EndX #EndY> - координаты правого нижнего угла области поиска.
<($filename)> - путь к сохранённому изображению (только файл формата bmp). Путь к изображению может быть указан как абсолютный - (C:\programms\pilot\images\), так и относительный - (images\). Указывается в круглых скобках. При использовании пробелов в адресе используйте кавычки либо строковую переменную(например $myPatch), предварительно присвоив ей(переменной) необходимый адрес.
<%ResultArray> - результирующий массив, в который записываются координаты изображения. Координатами изображения считается пиксель левого верхнего угла изображения. Если найдено несколько изображений, то координаты всех найденных изображений. Каждая строка массива хранится данные по отдельному найденному изображению: в первой колонке- координата X, во второй колонке- координата Y.
[#type] - тип поиска. Может принимать значения: 1 (надежный), 2 (быстрый). Настоятельно рекомендуется использовать быстрый способ поиска, кроме случаев с некорректным обнаружением изображения. По умолчанию 2й тип поиска.
[#accuracy] - точность поиска. Указывается в процентах. Используется для отсева изображений не достаточно схожих с оригиналом. По умолчанию значение равно 80%.
[#count] - ограничение количества найденных изображений. По умолчанию установлено для одного изображения - значение 1, для всех возможных - значение -1.
[#deviation] - Погрешность оттенка. Пример: есть погрешность 3%. точка имеет цвет 100 120 130, 255*3%=7, соответственно 100+/-7. При этом все цвета в пределах (93 113 123)-(107 127 137) будут считаться совпадением.
[abs] - флаг использования абсолютных координат. Если он указан то поиск происходит относительно левого верхнего угла экрана. Без флага поиск происходит относительно левого верхнего угла рабочего окна(привязанного через ctrl+a либо иным способом).

Если вы ищете на экране текст в виде картинки, и в системе используется сглаживание шрифтов, то могут быть проблемы с нахождением, даже если вы видите, что такой текст на экране есть. Все-равно при включенном сглаживании искомая картинка может незначительно отличаться от того что есть на экране. В этом случае рекомендуется снизить точность поиска либо отключить сглаживание шрифтов на компьютере, где используется findimage.

Коды ошибок FindImage:
'-1' упало при поиске, точная причина не известна
'-2' не нашли открывающую скобку после имени функции
'-3' не найдено пути в скобках
'-4' ошибка поиска файла
'-5' ошибка обработки искомого изображения
'-6' ошибка получения изображения с экрана.

Иногда требуется сделать клик не по самому изображению, а со смещением. Указывать можно как вначале скрипта так и перед функцией Findimage.

set findoffsetx 50 //смещение вправо на 50 пикселей
set findoffsety 30 //смещение вниз на 30 пикселей

set findoffsetx -40 //смещение вверх на 40 пикселей
set findoffsety -60 //смещение влево на 60 пикселей
Примеры // Пример 1
// перед запуском скрипта не забываем привязать скрипт к рабочему окну (Ctrl+A)
set #startX 100
set #startY 120
set #endX 300
set #endY 540
set $path "C:\Program Files\UOPilot\images\"
set %cash[1] картинка
// будем искать картинку из файла C:\Program Files\UOPilot\images\картинка.bmp
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]. Кликнем на нём...
left %crds[1 1] %crds[1 2] // кликнули
else
msg Изображение не найдено
end_if
В результате работы, если в заданной области картинка обнаружена, в массив %crds[1 1] будет записано значение координаты X для первой картинки, а в %crds[2 2] - значение Y для второй картинки.

// Пример 2
//поиск изображений (если будет найдено больше 20 поиск прекратится) с точностью 70% и отклонением в цвете 5%
set #check FindImage (#startX #startY #endX #endY (images\step.bmp) %crds 2 70 20 5)
// Пример 3
set #b FindImage (10 100 30 150 (d:\myImages\wolf.bmp) %arr 2 80 20 5)
// Пример 4
// будем искать картинку из файла картинка2.bmp, находящуюся в папке пилота
set #a findimage (100 120 1024 700 (\картинка2.bmp) %arr 2 80 -1)
set #w size (%arr) // получим число найденных картинок
msg Найдено картинок: #w
for #i 1 #w
set #x %arr [#i 1]
set #y %arr [#i 2]
msg картинка в координатах: #x #y
end_for
// Пример 5
// поиск нескольких картинок
// перед запуском скрипта не забываем привязать скрипт к рабочему окну (Ctrl+A)
set #startX 0
set #startY 0
set #endX 1920
set #endY 1080
set $path "C:\Program Files\UOPilot\images\" // путь к картинкам
set %image [1] картинка1 // имя изображения
set %image [2] картинка2 // имя второго изображения
set %image [3] картинка3 // третьего
set %image [4] карти // имена могут быть любыми

set #size size(%image) // всего картинок
hint Всего картинок #size

:metka
for #i 1 #size 1 // цикл для поиска картинок
set #a findimage (#startX #startY #endX #endY ($path%image[#i].bmp) %arr 2)
if #a > 0
move %arr[1 1] %arr[1 2] // переместить курсор на найденную картинку
wait 500 // ждать 0,5 секунды
end_if
end_for
wait 3000 // ждать 3 секунды
goto metka

Примеры поиска картинки в перекрытом(не свёрнутом) окне:
Привязка к окну обязательна. Aero (темы Windows 7) должен быть включен. Если был установлен Астер, то он должен быть отключен, а система перезагружена.
Окно может быть перекрыто полностью, частично или вообще не перекрыто. Может находиться за пределами экрана.
Иногда требуется указывать родительское окно. В окне пилота есть кнопка 'F', при нажатии открывается окно, в котором отображается что "видит" пилот при поиске (Findcolor, Findimage). Если в окне "чёрный квадрат", значит указано не то окно. В Windows 10 работает не во всех приложениях, может потребоваться установка Aero Glass.

// Пример 6
//Чтобы понять как работает поиск можно попробовать на рабочем столе найти значок 'Мой компьютер'.
//Делаем картинку значка в формате bmp, называем 'мойкомпьютер' (без кавычек), закидываем на диск 'C:'.
//При этом можно перекрыть значок каким-нибудь окном.

//Не забываем сделать привязку Ctrl + A.
set #a FindImage(0 0 1920 1080 (C:\мойкомпьютер.bmp) %arr workwindow)
if #a > 0
log Картинка найдена. Наведём на неё курсор.
move %arr [1 1] %arr [1 2]
End_script
else
msg Картинка не найдена.
end_if
// Пример 7
//Ищем картинку в окне Yandex, при этом не важно какое указано окно через Ctrl + A или сделано рабочим через 'set workwindow'.
set #handle FindWindow(Yandex) //поиск окна с именем Yandex
set #a FindImage(0 0 1920 1080 (C:\UOPilot\images\image.bmp) %arr #handle 80 -1 3) //поиск изображения
hint #a //в правом нижнем углу отображён результат поиска
if #a > 0
move %arr [1 1] %arr [1 2] #handle //навести курсор на первую найденную картинку
//обратите внимание, что в команде 'move' указан хендл окна
//т. е. курсор будет перемещён как будто привязка сделана к окну Yandex
End_script
end_if

Я понял, но в вашем примере
set #a FindImage(0 0 1920 1080 (C:\UOPilot\images\image.bmp) %arr #handle 80 -1 3)
при расположении параметров поиска таким образом он не улучшается, т.е. изображения всёравно путаются. Причем на одном компьютере боле-менее, на другом вообще никак. В ином случае это работало когда были черные окна, но в белых вообще никак.
что именно можно поменять чтобы улучшить точность поиска - вот в данном случае 80 -1 3 какой из параметров убран? Потому что их 4, а тут 3. я делаю всё так как там написано, но у меня текст путается
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 4.5.2018, 18:41
Сообщение #4


***********

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



Что значит "путаются"? Какие еще черные и белые окна?

Порядок и возможные сочетания параметров указаны выше:
set #a FindImage (#StartX #StartY #EndX #EndY ($filename) %ResultArray [#type [#accuracy [#count [#deviation]]]] [abs])


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


*****

Journeyman
Сообщений: 399
Регистрация: 18.11.2017
Группа: Пользователи
Наличность: 0
Пользователь №: 18.689



Цитата(DarkMaster @ 4.5.2018, 22:41) *

Что значит "путаются"? Какие еще черные и белые окна?

Порядок и возможные сочетания параметров указаны выше:
set #a FindImage (#StartX #StartY #EndX #EndY ($filename) %ResultArray [#type [#accuracy [#count [#deviation]]]] [abs])

т.е. если указано 3 числа, то что это обозначает? Каким образом я должен понять #type, #accuracy #count или #deviation убран
Так ладно понял убран последний видимо, если я уберу погрешность ничего не изменится?
Да и если "ограничение количества найденных изображений. По умолчанию установлено для одного изображения - значение 1, для всех возможных - значение -1" - то мне лучше что 1 поставить?
С погрешностью цвета не связывался ибо он там всюду белый

Просто скажите будет ли работать таким образом set #EU findimage(0 0 200 100 (C:\EU.bmp) %arr #Alert %arr2 2 100 20 5) и мне продолжить играть с настройками типа/погрешности и прочим, или это впринципе неправильное написание?
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 4.5.2018, 20:33
Сообщение #6


***********

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



Цитата
неправильное написание

Пожалуйста, уделите 10-15 минут внимательнмоу прочтению справки по оператору. Там все это разъяснено. Порядок параметров я выше вам дважды привел. Скобки указывают на возможность их опустить. По количеству изображений невозможно сказать, что вам нужно ставить. Откуда я знаю вам нужно найти одно или пять или все существующие? Сколько нужно - столько и ставьте.
Поповоду вашего написания... Вы сами можете пояснить, каким параметром, что вы задали?


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


*****

Journeyman
Сообщений: 399
Регистрация: 18.11.2017
Группа: Пользователи
Наличность: 0
Пользователь №: 18.689



Цитата(DarkMaster @ 5.5.2018, 0:33) *

Пожалуйста, уделите 10-15 минут внимательнмоу прочтению справки по оператору. Там все это разъяснено. Порядок параметров я выше вам дважды привел. Скобки указывают на возможность их опустить. По количеству изображений невозможно сказать, что вам нужно ставить. Откуда я знаю вам нужно найти одно или пять или все существующие? Сколько нужно - столько и ставьте.
Поповоду вашего написания... Вы сами можете пояснить, каким параметром, что вы задали?

Меня просто интересует почему не работает такой порядок написания
set #EU findimage(0 0 200 100 (C:\EU.bmp) %arr #Alert 2 100 20 5)(который строго по примеру)
и поиск никак не улучшается, будь то 1 тип или второй, текст всёравно путается.
Приведу вам пример
(IMG:https://image.ibb.co/nc6LzS/Uokit.jpg)
На приведенном рисунке 1 это тип актива
а 2 это его направление, и каждый из них он путает между собой
Может распознать как 1 так и второй, а может и наоборот, хоть 100% точность ставь хоть 200 ничего не меняется, поэтому я и задался вопросом почему такой порядок написания в порядке после окна не приносит результатов? Куда нужно поставить эти параметры, чтобы они начали работать?
(Менял тип, точность, погрешность и количество, ничего не происходит)
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
FREEON
сообщение 5.5.2018, 9:55
Сообщение #8


*****

Journeyman
Сообщений: 365
Регистрация: 14.2.2017
Группа: Пользователи
Наличность: 1319
Пользователь №: 18.346
Возраст: 25



Цитата(Levo222 @ 5.5.2018, 6:36) *

Меня просто интересует почему не работает такой порядок написания
set #EU findimage(0 0 200 100 (C:\EU.bmp) %arr #Alert 2 100 20 5)(который строго по примеру)
и поиск никак не улучшается, будь то 1 тип или второй, текст всёравно путается.
Приведу вам пример
(IMG:https://image.ibb.co/nc6LzS/Uokit.jpg)
На приведенном рисунке 1 это тип актива
а 2 это его направление, и каждый из них он путает между собой
Может распознать как 1 так и второй, а может и наоборот, хоть 100% точность ставь хоть 200 ничего не меняется, поэтому я и задался вопросом почему такой порядок написания в порядке после окна не приносит результатов? Куда нужно поставить эти параметры, чтобы они начали работать?
(Менял тип, точность, погрешность и количество, ничего не происходит)

Интересно взглянуть на код где прописан поиск этих элементов и выложи сами изображения (нарезки) для поиска изображений. Можно их в одну картинку запихнуть рядом.
Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 5.5.2018, 10:33
Сообщение #9


***********

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



Цитата
Меня просто интересует почему не работает такой порядок написания
set #EU findimage(0 0 200 100 (C:\EU.bmp) %arr #Alert 2 100 20 5)(который строго по примеру)

По какому примеру? Я еще раз вам говорю: напишите по порядку какой параметр у вас за что должен отвечать. Синтаксис ошибочен.


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


*****

Journeyman
Сообщений: 365
Регистрация: 14.2.2017
Группа: Пользователи
Наличность: 1319
Пользователь №: 18.346
Возраст: 25



Цитата(DarkMaster @ 5.5.2018, 10:33) *

По какому примеру? Я еще раз вам говорю: напишите по порядку какой параметр у вас за что должен отвечать. Синтаксис ошибочен.

Похоже у него 0 0 200 100 это погрешность цвета и точность поиска. Он вместо облости координат ищображения вписал параметры поиска.
Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Levo222
сообщение 5.5.2018, 10:51
Сообщение #11


*****

Journeyman
Сообщений: 399
Регистрация: 18.11.2017
Группа: Пользователи
Наличность: 0
Пользователь №: 18.689



Цитата(FREEON @ 5.5.2018, 14:49) *

Похоже у него 0 0 200 100 это погрешность цвета и точность поиска. Он вместо облости координат ищображения вписал параметры поиска.

А как я их мог вписать если это координаты стоят по коду?
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 5.5.2018, 10:53
Сообщение #12


***********

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



Цитата(DarkMaster @ 5.5.2018, 13:33) *

По какому примеру? Я еще раз вам говорю: напишите по порядку какой параметр у вас за что должен отвечать. Синтаксис ошибочен.

Пока вы не ответете на данный вопрос, дальнейший диалог не имеет смысла.


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


*****

Journeyman
Сообщений: 399
Регистрация: 18.11.2017
Группа: Пользователи
Наличность: 0
Пользователь №: 18.689



Цитата(FREEON @ 5.5.2018, 14:49) *

Похоже у него 0 0 200 100 это погрешность цвета и точность поиска. Он вместо облости координат ищображения вписал параметры поиска.


код такой

set #AC findimage(0 0 200 100 (C:\AC.bmp) %arr #Alert 1 100 20 5)
set #EU findimage(0 0 200 100 (C:\EU.bmp) %arr #Alert 1 100 20 5)
if #EU > 0
log -- EU -- определено
goto EU
else
if #AC > 0
log -- AC -- определено
goto AC
else
log image not indetified
goto Findalert
end_if
end_if
goto Findalert

блок определения актива переходит в блок идентификации направления

:EU
set #BUY findimage(0 0 400 100 (C:\BUY.bmp) %arr #Alert 1 100 20 5)
set #SELL findimage(0 0 400 100 (C:\SELL.bmp) %arr #Alert 1 100 20 5)
if #BUY > 0
log Купля
goto EUM1B
else
if #SELL > 0
log Продажа
goto EUM1S
end_if
end_if

////////////

:AC
set #BUY findimage(0 0 400 100 (C:\BUY.bmp) %arr #Alert 1 100 20 5)
set #SELL findimage(0 0 400 100 (C:\SELL.bmp) %arr #Alert 1 100 20 5)
if #BUY > 0
log Купля
goto ACM1B
else
if #SELL > 0
log Продажа
goto ACM1S
end_if
end_if

В дальнейшем это всё уходит на блок исполнения, там проблем нет.

А картинки вот такие
(IMG:https://image.ibb.co/iiAsg7/image.jpg)

Цитата(DarkMaster @ 5.5.2018, 14:53) *

Пока вы не ответете на данный вопрос, дальнейший диалог не имеет смысла.

set #EU findimage(0 0 200 100 (C:\EU.bmp) %arr #Alert 2 100 20 5)
Как какой из параметров? Первые 4 числа координаты.
Последние 4 #type #accuracy #count и #deviation, что здесь не так?

Я понимаю что здесь что-то местами нужно переставить или заключить в скобки параметры, но куда их поместить я не знаю и в ваших примерах этого нет.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 5.5.2018, 11:01
Сообщение #14


***********

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



Цитата
#Alert

Это что?


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


*****

Journeyman
Сообщений: 399
Регистрация: 18.11.2017
Группа: Пользователи
Наличность: 0
Пользователь №: 18.689



Цитата(DarkMaster @ 5.5.2018, 15:01) *

Это что?

Это хэндл окна в котором происходит поиск, а спереди его координаты
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
FREEON
сообщение 5.5.2018, 11:04
Сообщение #16


*****

Journeyman
Сообщений: 365
Регистрация: 14.2.2017
Группа: Пользователи
Наличность: 1319
Пользователь №: 18.346
Возраст: 25



Цитата(Levo222 @ 5.5.2018, 10:54) *

код такой

set #AC findimage(0 0 200 100 (C:\AC.bmp) %arr #Alert 1 100 20 5)
set #EU findimage(0 0 200 100 (C:\EU.bmp) %arr #Alert 1 100 20 5)
if #EU > 0
log -- EU -- определено
goto EU
else
if #AC > 0
log -- AC -- определено
goto AC
else
log image not indetified
goto Findalert
end_if
end_if
goto Findalert

блок определения актива переходит в блок идентификации направления

:EU
set #BUY findimage(0 0 400 100 (C:\BUY.bmp) %arr #Alert 1 100 20 5)
set #SELL findimage(0 0 400 100 (C:\SELL.bmp) %arr #Alert 1 100 20 5)
if #BUY > 0
log Купля
goto EUM1B
else
if #SELL > 0
log Продажа
goto EUM1S
end_if
end_if

////////////

:AC
set #BUY findimage(0 0 400 100 (C:\BUY.bmp) %arr #Alert 1 100 20 5)
set #SELL findimage(0 0 400 100 (C:\SELL.bmp) %arr #Alert 1 100 20 5)
if #BUY > 0
log Купля
goto ACM1B
else
if #SELL > 0
log Продажа
goto ACM1S
end_if
end_if

В дальнейшем это всё уходит на блок исполнения, там проблем нет.

А картинки вот такие
(IMG:https://image.ibb.co/iiAsg7/image.jpg)

.
Изначально всё было вообще без параметров, и оно находило потому что я вводил уникальные элементы в текст. Но теперь этот текст не изменить, а находить различия надо.


Во теперь так 0 0 200 100 вам точнее нужно указать зону поска
0 0 это координаты левого верхнего угла где примерно должна появляться картинка текст
200 100 это координаты правого нижнего угла где должна появляться картинка текст
.картинки вам стоит немного обработать. Пример тут http://uopilot.tati.pro/index.php?title=%D...D1%8F_Findimage
Если сделаете эти манипуляции то необходимо снизить точность поиска до процентов 90 95. А точность в 100% очень критична и не желательна.
Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 5.5.2018, 11:06
Сообщение #17


***********

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



Цитата
Это хэндл окна в котором происходит поиск

А теперь еще раз прочитайте, как он задается.


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


*****

Journeyman
Сообщений: 399
Регистрация: 18.11.2017
Группа: Пользователи
Наличность: 0
Пользователь №: 18.689



Цитата(DarkMaster @ 5.5.2018, 15:06) *

А теперь еще раз прочитайте, как он задается.

Ну и в чём разница?
set #handle FindWindow(Yandex) //поиск окна с именем Yandex
set #a FindImage(0 0 1920 1080 (C:\UOPilot\images\image.bmp) %arr #handle 80 -1 3) //поиск изображения
Он у меня указан и так?
set #Alert findwindow("Алерт")
set #EU findimage(0 0 200 100 (C:\EU.bmp) %arr #Alert 2 95 20 5)
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 5.5.2018, 11:32
Сообщение #19


***********

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



%arr #handle 80 -1 3
%arr #Alert 2 95 20 5
ничего не смущает?


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


*****

Journeyman
Сообщений: 399
Регистрация: 18.11.2017
Группа: Пользователи
Наличность: 0
Пользователь №: 18.689



Цитата(DarkMaster @ 5.5.2018, 15:32) *

%arr #handle 80 -1 3
%arr #Alert 2 95 20 5
ничего не смущает?

Я не знаю что это за параметры? Очевидно вы опустили тип поиска? Потому что он по умолчанию, оставив только точность, количество и погрешность, и что мне то делать?
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

2 страниц V  1 2 >
Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

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