Author Topic: IF_PICTURE_IN  (Read 3183 times)

0 Members and 1 Guest are viewing this topic.

grobik

  • Зашел в гости
  • *
  • Posts: 4
    • View Profile
IF_PICTURE_IN
« on: September 16, 2017, 06:02:02 PM »
Здравствуйте. Очень простенькая задача, казалось бы, стоит передо мной: написать скрипт, который будет искать картинки (25х25) и кликать на них. Сижу вот целый день, читаю форум, разбираю похожие примеры, пробую - но никак не получается( Перепробовал уже много вариантов. Максимум что получалось - пару раз кликнуло и на этом все. Не понимаю в чем проблема может быть: картинку вроде по правилам сделал (24 битный БМП размером 25 на 25 пикселей), но где-то что-то не так. Огромная просьба к опытным юзерам, которые писали похожие сценарии - помогите, пожалуйста, нубасу  :(

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: IF_PICTURE_IN
« Reply #1 on: September 16, 2017, 06:32:40 PM »
Если графика меняется то нужно использовать цветокоррекцию и процент совпадения

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

В скрипте поиска картинки применяешь тот же уровень цветокоррекции.
Code: (clickermann) [Select]
GETSCREEN // снимок
COLORMODE(6) // цветокоррекция
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "file.bmp", -1, 70) // Поиск картинки с 70% совпадением
   LCLICK($_return1, $_return2)
   WAITMS(100)
END_IF

grobik

  • Зашел в гости
  • *
  • Posts: 4
    • View Profile
Re: IF_PICTURE_IN
« Reply #2 on: September 16, 2017, 07:04:23 PM »
Спасибо большое! Все работает хорошо.

Thunder_Light

  • Зашел в гости
  • *
  • Posts: 5
    • View Profile
Re: IF_PICTURE_IN
« Reply #3 on: September 18, 2017, 09:18:02 PM »
Подскажи, а будет ли работать вероятность, если картинка допустим становится больше, меньше? А если нет, можно ли это как то решить?

Thunder_Light

  • Зашел в гости
  • *
  • Posts: 5
    • View Profile
Re: IF_PICTURE_IN
« Reply #4 on: September 18, 2017, 09:27:52 PM »
Подскажи, а будет ли работать вероятность, если картинка допустим становится больше, меньше? А если нет, можно ли это как то решить?
вероятность чего? что нужно решить? Функция поиска картинки корректно работает со всеми картинками полностью умещающимися в указанной области поиска. если картинка стала больше меньше( изменён масштаб) то это совершенно другая картинка - естественно она не совпадёт с образом и найдена не будет.
Можно решить ли эту проблему?

Thunder_Light

  • Зашел в гости
  • *
  • Posts: 5
    • View Profile
Re: IF_PICTURE_IN
« Reply #5 on: September 18, 2017, 09:30:18 PM »
Просто картинку ведь можно растянуть в любом графическом редакторе, даже в том же paint. Есть ли подобный функционал в программе?

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: IF_PICTURE_IN
« Reply #6 on: September 18, 2017, 10:01:58 PM »
Ты слабо себе представляешь что такое изменение масштаба. Используются разные алгоритмы, разные фильтры сглаживания и т.д.
Искать по старому образцу, новый размер не будет. Никак.
Поиск картинки осуществляется сравнением пикселов, при ресайзе ВСЕ пикселы меняются.


Thunder_Light

  • Зашел в гости
  • *
  • Posts: 5
    • View Profile
Re: IF_PICTURE_IN
« Reply #7 on: September 19, 2017, 06:46:54 PM »
Я не хочу не кого грузить. Поэтому не скажу, что данный функционал будет очень полезен. Надеялся есть "волшебная команда",что она всё решит и поможет. Ну так вот для чего она мне нужна была. Допустим я работник офиса, допустим мне нужно перенести кучу бумаг в электронный вид, допустим я это делаю при помощи сканера и бота. Открывая ПДФ файлы бот мог бы сверять буквы в документе со своими в базе ( в том числе и различные шрифты ) и писать их в новый текстовый документ. А мне как работнику оставалось бы только исправить некоторые недочёты, подправить форматирования текста и вот моя бумага уже в докс. Можно конечно совсем по этому поводу глубоко задуматься, но если честно, мне кажется подобный функционал не больно пригодится именно для игр. А для этого и ориентированна данная программа, верно?
P.S.
Я спрашивал есть ли подобный функционал, если нет, то думаю, найдется не много людей что будут им пользоваться. Спасибо за ответы и советы =3

Thunder_Light

  • Зашел в гости
  • *
  • Posts: 5
    • View Profile
Re: IF_PICTURE_IN
« Reply #8 on: September 19, 2017, 07:16:22 PM »
Спасибо, возможно я залез слишком глубоко. Удачи вам. Займусь чем нибудь более "земным".