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

 
Ответить в эту темуОткрыть новую тему
> Findimage не работает, от слова "вообще"
Levo222
сообщение 12.11.2019, 20:10
Сообщение #1


*****

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



Взял тот же банальный пример со справки, где поиск одной:

Код
--lua
local startX, startY, endX, endY = 85, 490, 97, 502   -- координаты поиска
local path = [["E:\Program Files\UOPilot\p.bmp"]] -- путь к картинке, bmp 24 бита
local arr, a = findimage (startX, startY, endX, endY, {path}, 2)  -- поиск картинки
hint (a)     -- результат поиска, подсказка в правом нижнем углу
if arr then  -- если найдена
    log ("Изображение найдено в координатах X= " .. arr[1][1] .. " Y= " .. arr[1][2])
    kleft (arr[1][1], arr[1][2])  -- кликнули
end


Или нескольких картинок
Код

--lua
local arr = findimage (85, 490, 97, 502, {"p.bmp"}, 2, 70, 20, 5)
hint (a)     -- результат поиска, подсказка в правом нижнем углу
if arr then  -- если найдена
    log ("Найдено картинок: " .. #arr)
    for i=1, #arr do
        kleft (arr[i][1], arr[i][2])  -- кликнули на каждой
        wait (1000)  -- пауза 1000 мсек (1 сек)
    end
end



Ничего не работает, ни 1 ни другой скрипт не запускается, картинка лежит в папке пилота, в log ничего не пишет.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Cockney
сообщение 12.11.2019, 22:01
Сообщение #2


********

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



Так и что в а лежит ?
Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Levo222
сообщение 13.11.2019, 6:12
Сообщение #3


*****

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



Да ниче, он просто не показывает

Я так и не понял вот какой момент, мне нужно на одном и том же месте найти несколько картинок из многих, вот в этом примере:


Код
--lua
local arr = findimage (85, 490, 97, 502, {"p.bmp"}, 2, 70, 20, 5)  -- здесь одна
hint (a)     -- результат поиска, подсказка в правом нижнем углу
if arr then  -- если найдена
    log ("Найдено картинок: " .. #arr)
    for i=1, #arr do
        kleft (arr[i][1], arr[i][2])  -- кликнули на каждой
        wait (1000)  -- пауза 1000 мсек (1 сек)
    end
end

я не вижу где тут несколько картинок?
одну вижу, а где остальные?
Откуда во втором примере взялась "а"? Она что из воздуха нарисовалась?
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
cirus
сообщение 13.11.2019, 11:15
Сообщение #4


**********

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



Цитата
я не вижу где тут несколько картинок?

20 - это значит максимум 20 картинок.
Цитата
Откуда во втором примере взялась "а"?
local arr = findimage (85, 490, 97, 502, {"p.bmp"}, 2, 70, 20, 5)

Код
local arr, a = findimage (85, 490, 97, 502, {"p.bmp"}, 2, 70, 20, 5)

Цитата
одну вижу, а где остальные?

Код
--lua
local startX, startY, endX, endY = 0, 0, 1920, 1080   -- координаты поиска
local path = [[C:\pilot]]                    -- путь к картинкам

local image = {"картинка", "картинка2", "картинка3"}   -- массив с именами картинок, имена могут быть любыми
hint ("Всего картинок для поиска " .. #image)
for i=1, #image do                     -- цикл для поиска картинок
    local arr, a = findimage (startX, startY, endX, endY, {path .. "\\" .. image[i] .. ".bmp"}, 2)  -- поиск картинки
    if  arr then
        move (arr[1][1], arr[1][2])    -- переместить курсор на найденную картинку
        wait (500)                     -- ждать 0,5 секунды
    end
end


Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
xcv
сообщение 19.11.2019, 15:56
Сообщение #5


*

Registred
Сообщений: 3
Регистрация: 8.11.2019
Группа: Пользователи
Наличность: 0
Пользователь №: 19.446
Возраст: 38



дабы не создавать новую тему, тем более вопрос созвучен с заголовком данной, напишу тут свою проблему.
Долго не мог разобраться, почему у меня не работает findimage, опытным путем выяснил, оно почему-то не правильно определяет координаты, тоесть, вот пример, написал простенький скрипт, который должен был найти картинку и переместить курсор на нее:
Код

set #a FindImage(0 0 1920 1080 (C:\win.bmp) %arr 2)     //поиск изображения
if #a > 0
    move %arr [1 1] %arr [1 2]      //навести курсор на первую найденную картинку
    End_script
end_if

для примера искал кусок изображения рабочего стола, картинку он находит, но курсор перемещает не в то место, координаты определяются неправильно! и если искать изображение которое находится возле правого края, то оно не находится совсем.
прилагаю картинку которую искал (win.bmp) и схематическое изображение места куда помещался курсор (win2.bmp)
Может кто подскажет в чем проблема?
PS: UoPilot пробовал версии 2.39, 2.40, 2.41 Windows 10
Прикрепленный файл  win.bmp ( 106,28 килобайт ) Кол-во скачиваний: 247
Прикрепленный файл  win2.bmp ( 797,28 килобайт ) Кол-во скачиваний: 239
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Levo222
сообщение 19.11.2019, 19:20
Сообщение #6


*****

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



--
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
cirus
сообщение 20.11.2019, 1:33
Сообщение #7


**********

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



В параметрах экрана какой стоит масштаб? Должен быть 100%.
Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
xcv
сообщение 20.11.2019, 12:35
Сообщение #8


*

Registred
Сообщений: 3
Регистрация: 8.11.2019
Группа: Пользователи
Наличность: 0
Пользователь №: 19.446
Возраст: 38



Цитата(cirus @ 20.11.2019, 1:33) *

В параметрах экрана какой стоит масштаб? Должен быть 100%.

Спасибо огромное, стоял масштаб 125%, изменил на 100% - стало нормально работать, но на экране теперь все слишком мелкое, оно и на 125 не особо крупное было, есть возможность заставить скрипт работать при масштабе отличном от 100%, а то большинство современных мониторов с высоким разрешением работают на масштабе больше 100%, думаю я не единственный кто с этим столкнулся, в описание функции не мешало бы добавить упоминание о том что работает только при 100%, хотя findcolor нормально работает и при 125%.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
FREEON
сообщение 20.11.2019, 13:54
Сообщение #9


*****

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



Цитата(xcv @ 20.11.2019, 12:35) *

Спасибо огромное, стоял масштаб 125%, изменил на 100% - стало нормально работать, но на экране теперь все слишком мелкое, оно и на 125 не особо крупное было, есть возможность заставить скрипт работать при масштабе отличном от 100%, а то большинство современных мониторов с высоким разрешением работают на масштабе больше 100%, думаю я не единственный кто с этим столкнулся, в описание функции не мешало бы добавить упоминание о том что работает только при 100%, хотя findcolor нормально работает и при 125%.

в чем проблема переделать картинки для нового масштаба 125... будет так же работать
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
xcv
сообщение 21.11.2019, 9:37
Сообщение #10


*

Registred
Сообщений: 3
Регистрация: 8.11.2019
Группа: Пользователи
Наличность: 0
Пользователь №: 19.446
Возраст: 38



Цитата(FREEON @ 20.11.2019, 13:54) *

в чем проблема переделать картинки для нового масштаба 125... будет так же работать

проблема не в картинках, а в том что пилот не правильно сопоставляет картинку и ее координаты при масштабе отличном от 100% и часть окна совсем не видит
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
gt500rx
сообщение 22.11.2019, 10:16
Сообщение #11


*

Registred
Сообщений: 9
Регистрация: 22.11.2019
Группа: Пользователи
Наличность: 0
Пользователь №: 19.458
Возраст: 31



Тоже чтобы не создавать новую тему хочу спросить здесь. Подскажите может ли UoPilot ожидать определенное время появление картинки, а если она появилась раньше сразу кликал на нее (или выполнял другое действие)? если может, то как это сделать?
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
cirus
сообщение 22.11.2019, 11:30
Сообщение #12


**********

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



Цитата
ожидать определенное время появление картинки

Код
set #time timer + 3000    // 3000 = 3 секунды

while #time > timer   // пока не вышло время
    set #a FindImage (0 0 1920 1080 (C:\Image.bmp) %arr 2 80 1 5)  // поиск картинки
    if  #a > 0   // если найдена
        move %arr[1 1] %arr [1 2]  // навести на неё курсор
        break  // выход из цикла
    end_if
    wait 100
end_while
if  #time <= timer  // если картинка не найдена за указанное время
    log Картинка не найдена
end_if
end_script
Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
gt500rx
сообщение 22.11.2019, 15:39
Сообщение #13


*

Registred
Сообщений: 9
Регистрация: 22.11.2019
Группа: Пользователи
Наличность: 0
Пользователь №: 19.458
Возраст: 31



Спасибо работает, только курсор наводит неправильно почему-то
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
gt500rx
сообщение 22.11.2019, 18:57
Сообщение #14


*

Registred
Сообщений: 9
Регистрация: 22.11.2019
Группа: Пользователи
Наличность: 0
Пользователь №: 19.458
Возраст: 31



Идет смещение относительно картинки, почему так происходит?
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Fors1k
сообщение 23.11.2019, 0:02
Сообщение #15


*****

Journeyman
Сообщений: 497
Регистрация: 19.12.2017
Группа: Пользователи
Наличность: 2419
Пользователь №: 18.746



Цитата(gt500rx @ 22.11.2019, 18:57) *

Идет смещение относительно картинки, почему так происходит?

Только что отвечали на этот вопрос. Читай выше.


--------------------
Для связиИзображение
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
gt500rx
сообщение 23.11.2019, 11:22
Сообщение #16


*

Registred
Сообщений: 9
Регистрация: 22.11.2019
Группа: Пользователи
Наличность: 0
Пользователь №: 19.458
Возраст: 31



Цитата(Fors1k @ 23.11.2019, 0:02) *

Только что отвечали на этот вопрос. Читай выше.



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

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

 

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