Author Topic: Анализ текста в окне  (Read 135040 times)

0 Members and 1 Guest are viewing this topic.

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: Анализ текста в окне
« Reply #90 on: October 19, 2016, 12:34:01 PM »
Может дальше это машинный перевод с украинского... или татарского?


Ddimas

  • Зашел в гости
  • *
  • Posts: 2
    • View Profile
Re: Анализ текста в окне
« Reply #91 on: October 19, 2016, 01:50:35 PM »
Ну набросились)) я думал подскажите((.......вроде просто же...в определенном месте экрана(наверное по координатам), есть цифры, и к ним нужно применить следующие.....понять кликеру, величина числа и после нажать на нужное место), короче чтоб обновляла базы и искала нужное количество ресурсов, не точно а от заданной величины...да и ле есть шаблоны..может сам разберусь, побовал найти)) честно....спасибо

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: Анализ текста в окне
« Reply #92 on: October 19, 2016, 02:22:09 PM »
Ты повторно объяснил то, что все и так поняли и кстати ответили http://crapware.aidf.org/forum/index.php?topic=88.msg17859#msg17859
Не поняли вторую часть поста из-за несвязанных между собой слов.

То что посоветовали использовать, даже искать не нужно. Оно находится прямо в этой теме:
http://crapware.aidf.org/forum/index.php?topic=88.msg1571#msg1571

Заготавливаются скрины-заготовки каждой цифры, настраивается скрипт и он распознаёт число. Дальше уже значение применять в своём скрипте.

Если это не флэш, и число можно выделить мышью, то выделять и копировать в буфер обмена.


Cleoss

  • Активный участник
  • ***
  • Posts: 260
  • Автоматизируй это!
    • View Profile
Re: Анализ текста в окне
« Reply #93 on: October 20, 2016, 01:38:40 AM »
.......вроде просто же...в определенном месте экрана(наверное по координатам), есть цифры, и к ним нужно применить следующие.....понять кликеру, величина числа и после нажать на нужное место), короче чтоб обновляла базы и искала нужное количество ресурсов, не точно а от заданной величины...да и ле есть шаблоны..

Это тест Тьюринга) куда там компам, админы не все догнали))

Shamax

  • Зашел в гости
  • *
  • Posts: 2
    • View Profile
Re: Анализ текста в окне
« Reply #94 on: March 20, 2017, 09:05:25 AM »

помогите сделать скрипт
сравнить 2 цифры
если 1 не равно 2 то кликать в определенной точке

Shamax

  • Зашел в гости
  • *
  • Posts: 2
    • View Profile
Re: Анализ текста в окне
« Reply #95 on: March 20, 2017, 10:56:18 AM »

помогите сделать скрипт
сравнить 2 цифры
если 1 не равно 2 то кликать в определенной точке
Народ когда уже научитесь отличать, что такое цифра, а что такое число? Если не все предложения в рублях тогда сравнивать стоит суммы с пересчётом в одну валюту с учётом указанного курса.
Помогите - это конечно конечно вопиющее требование, вроде "спасите", но хотелось бы понять чем вас не устраивает скрипт по распознаванию чисел который написал уважаемый Vint?
Вы хотите Проводить такую цветокорекцию картинок, чтоб изображение сводилось к одинаковому и близкому в процентах или требуется ещё более свежее решение? Просто нормальным скриптам своё предложение проще запоминать, чем узнавать по картинке. Здесь конечно есть мушкетёры которые"...пишут скрипты ради того, чтобы ПИСАТЬ", но может достаточно просто потыкать носом в уже написаннное? Тем более что если вы не умеете включать чужие скрипты в состав своих, то и написанные по вашему сценарию скрипт будет проблематично использовать на практике.

ну это реально сделать или нет?
сравнить число и все можно только последние 2 цифры сравнивать
ну я не знаю как это реализовать,
за сколько можно это сделать по деньгам

gsukhado

  • Активный участник
  • ***
  • Posts: 104
    • View Profile
Re: Анализ текста в окне
« Reply #96 on: August 07, 2017, 01:32:00 PM »
Всем день добрый.
Попробовал использовать для своих целей Распознавание чисел 1.5.cms
Есть поле с шахтами, в левом нижнем углу которых указывается их уровень, надо его распознать
В основном коде ставлю строку
         number_read($tmp_x-18,$tmp_y+6,$tmp_x+8,$tmp_y+25, "textures\digit_", 7)
Нарезал со скриншотов цифры, прилагаются в архиве.
Хоть что-то распознает в среднем при качестве распознавания CASE(7) со значением $pr = 70 и ниже - но при этом попадает вообще пальцем в небо (чаще всего распознает якобы уровень 7, независимо от того какая на самом деле).
Смещения пробовал ставить от $SHIFT_X = 1 $SHIFT_Y = 1 до $SHIFT_X = 3 $SHIFT_Y = 5, не помогает.
В строке SCANPICTURE($a_scan, $f_x1,$f_y1,$f_x2,$f_y2, STRCONCAT($pref,$i,".bmp"), 16744447, $pr) попробовал заменить на SCANPICTURE($a_scan, $f_x1,$f_y1,$f_x2,$f_y2, STRCONCAT($pref,$i,".bmp"), -1, $pr) - тоже не помогло

Уважаемые знатоки, что тут еще надо "подвернуть", чтобы заработало для конкретной ситуации?

Код в основной части:
Code: (clickermann) [Select]
//основная часть
#include "Распознавание чисел 1.5.cms" //подключение для распознавания уровня шахт

print("--------------")
print("Начинаем фармить на поверхности")
   undefine($mass_shaht)
   getscreen
   colormode(7)
   $sh_x=0 //задание координат шахты для атаки, если (0,0) - то атаковать нечего
   $sh_y=0
 
   // ---Поиск шахты с золотом   
   SCANPICTURE ($mass_shaht, 70, 400, 355, 685, "g1_gold_7v1.bmp",-1,70) // ищем с 70% совпадения
   Print("количество золотых шахт до проверки = ", arrsize($mass_shaht)/2 )
   
   $arrsize_fict=arrsize($mass_shaht)
   while ($arrsize_fict > 0)
      $tmp_y=arrpop($mass_shaht)
      $tmp_x=arrpop($mass_shaht)
     
      IF_PICTURE_IN ($tmp_x-5+11, $tmp_y-46-5, $tmp_x+23+5, $tmp_y-20+5, "g1_taiming_7v2.bmp",-1,70) // проверка на наличие тайминга
         print("...тайминг есть, атаковать нельзя")
         // поиск уровня обнаруженной шахты
         $log = 1
         number_read($tmp_x-18,$tmp_y+6,$tmp_x+8,$tmp_y+25, "textures\digit_", 7)
         print ("уровень шахты:  ", $res, " просто посмотрели")
         
      else
         print("...тайминга нет")
         $sh_x=$tmp_x
         $sh_y=$tmp_y
         // поиск уровня обнаруженной шахты
         $log = 1
         number_read($tmp_x-18,$tmp_y+6,$tmp_x+8,$tmp_y+25, "textures\digit_", 7)
         if ($res < 13)
        print ("...уровень шахты:  ", $res, " атакуем")
$arrsize_fict=0 //для прерывания цикла while - если нашли цель, то иные можно не проверять
GOTO(end_while)
         else
            print("...уровень шахты:  ", $res, " НЕ атакуем")
         end_if
      end_if
      $arrsize_fict=arrsize($mass_shaht)
      end_while:   
   end_cyc
//далее алгоритм собственно атаки

P.S.Не очень понял где лучше данный вопрос задать: то ли создавать отдельный вопрос в основном чате "Общие вопросы", то ли не плодить нового и продолжить имеющуюся тему. Решил продолжить имеющуюся
« Last Edit: August 07, 2017, 01:46:49 PM by gsukhado »

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: Анализ текста в окне
« Reply #97 on: August 07, 2017, 03:12:48 PM »
Смещения пробовал ставить от $SHIFT_X = 1 $SHIFT_Y = 1 до $SHIFT_X = 3 $SHIFT_Y = 5, не помогает.
Зачем ставить наугад? Размеры символов 4-5х8, вот $SHIFT_X = 3 $SHIFT_Y = 5 нормально подходит

В строке SCANPICTURE($a_scan, $f_x1,$f_y1,$f_x2,$f_y2, STRCONCAT($pref,$i,".bmp"), 16744447, $pr) попробовал заменить на
В твоём варианте 16744447 вообще никаким боком, это из другого примера. Конечно -1 (или может цвет фона в образцах).



Что то нарезанные образцы цифр сильно рафинированные. Неужели настоящие?
На скрине "экран_без_цветокоррекции" их так колбасит, что до образцов им очень далеко.
При таком маленьком шрифте и такой дикой разнице, там некоторые и на 50% не найдёт.
что тут еще надо "подвернуть", чтобы заработало для конкретной ситуации?
А шрифт никак нельзя увеличить? Выставить более высокое разрешение в игре или подобрать размер окна чтоб размер был ближе к не сглаженным эталонам.

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


gsukhado

  • Активный участник
  • ***
  • Posts: 104
    • View Profile
Re: Анализ текста в окне
« Reply #98 on: August 07, 2017, 06:17:37 PM »
Vint, спасибо за ответы!
Что то нарезанные образцы цифр сильно рафинированные. Неужели настоящие?
Нет, пытался их облагородить :)

При таком маленьком шрифте и такой дикой разнице, там некоторые и на 50% не найдёт.
А шрифт никак нельзя увеличить? Выставить более высокое разрешение в игре или подобрать размер окна чтоб размер был ближе к не сглаженным эталонам.
Если нельзя, то я сочувствую. Или выбрать другой способ или тщательно настраивать каждую цифру подбором образца и процента. Потом ещё исключить взаимное влияние.
С ноутбука, так что размер в bluestack какой есть...
...Хотя попробую повернуть экран набок на 90 градусов, тогда размер экрана bluestack увеличится почти в 2 раза, буду надеяться что поможет....

faser

  • Зашел в гости
  • *
  • Posts: 14
    • View Profile
Re: Анализ текста в окне
« Reply #99 on: August 07, 2017, 06:20:40 PM »
А шрифт никак нельзя увеличить? Выставить более высокое разрешение в игре или подобрать размер окна чтоб размер был ближе к не сглаженным эталонам.

Если нельзя, то я сочувствую. Или выбрать другой способ или тщательно настраивать каждую цифру подбором образца и процента. Потом ещё исключить взаимное влияние.
там палка о 2-х концах. Надо чтобы больше шахт влазило, но при этом картинки будут - хрен разберешь. Можно приблизить, иметь хорошие картинки и отлично определять текст, но при этом на экран будет влезать всего пара шахт (если повезёт) нужного уровня. Постоянный фарм пары шахт - прямая дорга в баню. По хорошему, надо приблизить и помимо поиска картинок задать алгоритм слайда карты в пределах синей границы. Ну или хотя бы в большом приближении жестко задать количество свайпов типа: вправо, вправо, вниз, влево, влево, вверх)
« Last Edit: August 07, 2017, 06:22:12 PM by faser »

gsukhado

  • Активный участник
  • ***
  • Posts: 104
    • View Profile
Re: Анализ текста в окне
« Reply #100 on: August 07, 2017, 09:17:01 PM »
там палка о 2-х концах. Надо чтобы больше шахт влазило, но при этом картинки будут - хрен разберешь. Можно приблизить, иметь хорошие картинки и отлично определять текст, но при этом на экран будет влезать всего пара шахт (если повезёт) нужного уровня. Постоянный фарм пары шахт - прямая дорга в баню. По хорошему, надо приблизить и помимо поиска картинок задать алгоритм слайда карты в пределах синей границы. Ну или хотя бы в большом приближении жестко задать количество свайпов типа: вправо, вправо, вниз, влево, влево, вверх)
Да, все верно - "обход" свайпами внутри синей границы - это следующий шаг в восстановлении студенческих навыков программирования ))
Но сделать алгоритм рандомного блуждания внутри границы - сам не потяну, придется высчитывать и жестко прописывать свайпы обхода...

gsukhado

  • Активный участник
  • ***
  • Posts: 104
    • View Profile
Re: Анализ текста в окне
« Reply #101 on: August 08, 2017, 11:29:28 AM »
Общий вопрос по алгоритму Распознавание чисел 1.5.cms (http://crapware.aidf.org/forum/index.php?topic=88.msg1571#msg1571 )

Для случаев, когда конкретные написания цифр могут достаточно сильно отклоняться от "шаблона", можно ли использовать не конкретные образцы, а их массивы? Например, сделать подпапки "texures\number0\", "texures\number1\", "texures\number2\"... в которые накидывать разные написания одной и той же цифры. А алгоритм бы проверял на совпадение каждому из вариантов цифры в соответствующей подпапке.
А совсем идеально - чтобы если совпадений не найдено (установив высокую точность, например от 95), но скриншот данного кусочка экрана сразу складировался в отдельной папке - из которой потом вручную можно было бы нарезать цифры и добавить в нужную подпапку...

Есть мастера, которые могли бы так доделать алгоритм распознавания? Или тогда комп каждое распознавание будет по полчаса делать?

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: Анализ текста в окне
« Reply #102 on: August 08, 2017, 01:50:11 PM »
Здесь такого нет. Но так делали другой способ распознавания, в основном для капчи.

С распознаванием чисел в данной ситуации это тупик. Слишком большая разница в рендерах.
Постоянно будут новые варианты и на настройку уйдёт гораздо больше времени, не говоря уж о скорости. Скорость будет всё падать и падать.
Хочешь - попробуй. Я бы не советовал так искать в данном случае.

Вот вся тема с несколькими вариантами
http://crapware.aidf.org/forum/index.php?topic=2336.0


Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: Анализ текста в окне
« Reply #103 on: August 08, 2017, 01:58:43 PM »
Если там не много шаблонов, а к примеру, 2 или 3 на цифру, то можно легко доделать.

Если у всех цифр по 3 шаблона, то просто добавить поисков:
Code: (clickermann) [Select]
SCANPICTURE($a_scan, $f_x1,$f_y1,$f_x2,$f_y2, STRCONCAT($pref,$i,"_1.bmp"), 16744447, $pr)
SCANPICTURE($a_scan, $f_x1,$f_y1,$f_x2,$f_y2, STRCONCAT($pref,$i,"_2.bmp"), 16744447, $pr)
SCANPICTURE($a_scan, $f_x1,$f_y1,$f_x2,$f_y2, STRCONCAT($pref,$i,"_3.bmp"), 16744447, $pr)

Если у всех разное, то добавить через IF или SWITCH
Code: (clickermann) [Select]
      SWITCH($i)
      CASE(0)
         $pr = 95
         SCANPICTURE($a_scan, $f_x1,$f_y1,$f_x2,$f_y2, STRCONCAT($pref,$i,"_2.bmp"), 16744447, $pr)
      CASE(1)
         $pr = 99
      CASE(3)
         $pr = 93
         SCANPICTURE($a_scan, $f_x1,$f_y1,$f_x2,$f_y2, STRCONCAT($pref,$i,"_2.bmp"), 16744447, $pr)
         SCANPICTURE($a_scan, $f_x1,$f_y1,$f_x2,$f_y2, STRCONCAT($pref,$i,"_3.bmp"), 16744447, $pr)
      CASE(4)
...

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

Но начнутся пересечения. При проценте отличном от 100, одну и ту же цифру может находить на одном и том же месте несколько раз.
И начнёт путать между цифрами, особенно 6-8-9-0 и 1-7
При 100% количество образцов будет не маленьким. И всё равно межцифровые ошибки возможны.
« Last Edit: August 08, 2017, 02:04:21 PM by Vint »


faser

  • Зашел в гости
  • *
  • Posts: 14
    • View Profile
Re: Анализ текста в окне
« Reply #104 on: August 08, 2017, 04:52:35 PM »
Общий вопрос по алгоритму Распознавание чисел 1.5.cms (http://crapware.aidf.org/forum/index.php?topic=88.msg1571#msg1571 )

Для случаев, когда конкретные написания цифр могут достаточно сильно отклоняться от "шаблона", можно ли использовать не конкретные образцы, а их массивы? Например, сделать подпапки "texures\number0\", "texures\number1\", "texures\number2\"... в которые накидывать разные написания одной и той же цифры. А алгоритм бы проверял на совпадение каждому из вариантов цифры в соответствующей подпапке.
А совсем идеально - чтобы если совпадений не найдено (установив высокую точность, например от 95), но скриншот данного кусочка экрана сразу складировался в отдельной папке - из которой потом вручную можно было бы нарезать цифры и добавить в нужную подпапку...

Есть мастера, которые могли бы так доделать алгоритм распознавания? Или тогда комп каждое распознавание будет по полчаса делать?
предлагаю продолжить здесь:
http://crapware.aidf.org/forum/index.php?topic=3345.msg22991#msg22991
 т.к. это скорее вопросы не к скрипту распознавания цифр, а к нашему частному случаю в игре