Author Topic: Проблема с поиском картинки.  (Read 5322 times)

0 Members and 1 Guest are viewing this topic.

Владимир Миньков

  • Зашел в гости
  • *
  • Posts: 10
    • View Profile
Проблема с поиском картинки.
« on: July 08, 2015, 07:16:46 PM »
Всем привет.
При поиске картинки у меня постоянно выдаёт ошибку.
Ошибка при интерпретации строки IF_PICTURE_IN (422,341, $_xmax,$_ymax, "arena.bmp", -1, 100)
Прервать выполнения сценария?
Картинку я переделал из png в bmp.
Code: (clickermann) [Select]
GETSCREEN
IF_PICTURE_IN (422,341, $_xmax,$_ymax, "arena.bmp", -1, 100)
   LCLICK($_return1, $_return2)
   WAIT(2)
END_IF

halt

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: Проблема с поиском картинки.
« Reply #1 on: July 08, 2015, 09:23:03 PM »
Переделал каким образом? Просто в место png написал bmp? У меня просто других вариантов нет, скрипт написан правильно, но явно что то не так с файлом.

Владимир Миньков

  • Зашел в гости
  • *
  • Posts: 10
    • View Profile
Re: Проблема с поиском картинки.
« Reply #2 on: July 08, 2015, 09:39:52 PM »
Да, просто переименов файл. Был png, а стал bmp

Владимир Миньков

  • Зашел в гости
  • *
  • Posts: 10
    • View Profile
Re: Проблема с поиском картинки.
« Reply #3 on: July 08, 2015, 10:22:03 PM »
Конвертировал png в bmp уже через сайт, ошибка исчезла, но ничего не происходит (он не кликает на картинку)
Просто ничего не происходит
« Last Edit: July 08, 2015, 10:51:58 PM by Владимир Миньков »

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: Проблема с поиском картинки.
« Reply #4 on: July 09, 2015, 07:56:09 AM »
Я не понимаю ты что школу прогуливал? Почему ты в один угол пишешь X в другой Y?
IF_PICTURE_IN (100,100, 200,200, "arena.bmp", -1, 100)
У прямоугольной области 4 числа координат, первые две это верхний левый угол X Y, вторые две это нижний правый угол X2 Y2.

$_xmax,$_ymax - это системные переменные, через них кликер выводит размер твоего экрана.
Изначально там стоят такие настройки 0,0,$_xmax,$_ymax это означает что поиск будет на всем экране, каким бы он ни был.

На счет картинки:
Нажимаешь PrintScreen открываешь редактор, хотя бы стандартный Paint, вставляешь снимок Ctrl+V и вырезаешь маленький фрагментик. Сохраняешь в BMP 24Bit.
И еще учти что клик приходится на верхний левый угол этого фрагментика.
Можно задать смещение чтоб кликнул в нужное место.
Code: (clickermann) [Select]
LCLICK($_return1+10, $_return2+5) // чуть правее и ниже



Владимир Миньков

  • Зашел в гости
  • *
  • Posts: 10
    • View Profile
Re: Проблема с поиском картинки.
« Reply #5 on: July 09, 2015, 10:46:47 AM »
Опять ошибка....

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: Проблема с поиском картинки.
« Reply #6 on: July 09, 2015, 01:26:32 PM »
При загрузке или сохранении скрипта папка, в которой находится скрипт, становится корнем. В ней кликер ищет все приложенные файлы. В редакторе показывается текущий путь до рабочей папки. Если же скрипт не сохранен то корнем считается папка кликера. Тебе нужно создать папку проекта, в нее поместить скрип и картинки, и уже от туда загружать.

Как дети малые....

Владимир Миньков

  • Зашел в гости
  • *
  • Posts: 10
    • View Profile
Re: Проблема с поиском картинки.
« Reply #7 on: July 09, 2015, 01:55:24 PM »
Я так и сделал. Но он говорит что одного файла не достаёт.
« Last Edit: July 09, 2015, 01:57:19 PM by Владимир Миньков »

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: Проблема с поиском картинки.
« Reply #8 on: July 09, 2015, 02:00:31 PM »
Ах вот оно что, ты указал 4 числа а $_xmax,$_ymax не стер! И кликер вообще не въезжает что ты ему там вводишь

Вот что тебе нужно
Code: (clickermann) [Select]
GETSCREEN
IF_PICTURE_IN (399,315, 485,345, "arena.bmp", -1, 100)
   LCLICK($_return1, $_return2)
   WAIT(2)
END_IF

halt

Владимир Миньков

  • Зашел в гости
  • *
  • Posts: 10
    • View Profile
Re: Проблема с поиском картинки.
« Reply #9 on: July 09, 2015, 04:05:33 PM »
Может быть я неправильно указываю координаты???
Опять же ничего не происходит после включения скрипта. Он запускается и моментально останавливается.

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: Проблема с поиском картинки.
« Reply #10 on: July 09, 2015, 05:06:16 PM »
Ну вот теперь все правильно. А ничего не находит потому что пикселы в твоем фрагменте не сходятся с теми что на экране. Графика иногда имеет свойство меняться.

В этом случаи применяется цветокоррекция с процентом совпадения
Вот таким скриптом получаем скорректированный снимок
Code: (clickermann) [Select]
// Получение скриншота с цветокоррекцией (фильтр 6)
// Скриншот появится в папке screens папки скрипта или в папке кликера
GETSCREEN
COLORMODE(6)
SCREENSHOT
HALT
Из этого скриншота вырезаем фрагмент для поиска.

И в скрипте также применяем цветокоррекцию снимка и понижаем процент совпадения, в данном случаи до 70%
Code: (clickermann) [Select]
GETSCREEN
COLORMODE(6)
IF_PICTURE_IN (399,315, 485,345, "arena.bmp", -1, 70)
   LCLICK($_return1, $_return2)
   WAIT(2)
END_IF

halt

Владимир Миньков

  • Зашел в гости
  • *
  • Posts: 10
    • View Profile
Re: Проблема с поиском картинки.
« Reply #11 on: July 09, 2015, 05:51:06 PM »
Спасибо вам огромное! Наконец он работает!
Вот только тыкает рядом, но нужно это уже вручную настраивать
Чуток изменил код и он начал идеально распознавать картинку
Code: (clickermann) [Select]
GETSCREEN
COLORMODE(6)
IF_PICTURE_IN (0,0,$_xmax,$_ymax, "arena.bmp", -1, 100)
   LCLICK($_return1, $_return2)
   WAIT(2)
END_IF
 
halt
« Last Edit: July 09, 2015, 06:04:14 PM by Владимир Миньков »

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: Проблема с поиском картинки.
« Reply #12 on: July 09, 2015, 07:15:57 PM »
Вот только тыкает рядом, но нужно это уже вручную настраивать
Можно задать смещение чтоб кликнул в нужное место.
Code: (clickermann) [Select]
LCLICK($_return1+10, $_return2+5) // чуть правее и ниже

Владимир Миньков

  • Зашел в гости
  • *
  • Posts: 10
    • View Profile
Re: Проблема с поиском картинки.
« Reply #13 on: July 09, 2015, 07:24:27 PM »
Про это я знаю. Кликер же будет дольше искать по всему экрану картинку нежеле по выбранному месту?

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: Проблема с поиском картинки.
« Reply #14 on: July 10, 2015, 06:39:55 AM »
Конечно нужно указывать место предполагаемого появления, и размер картинки урезай до предела. По высоте сделай 2-3 пиксела и он найдет её почти мгновенно.