Author Topic: Анализ текста с картинки  (Read 16576 times)

0 Members and 2 Guests are viewing this topic.

aden

  • Оплот сообщества
  • ****
  • Posts: 363
    • View Profile
Re: Анализ текста с картинки
« Reply #15 on: July 23, 2014, 09:33:11 PM »
lup(-1,-1) отпустит там где в данный момент курсор находится

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: Анализ текста с картинки
« Reply #16 on: July 23, 2014, 09:33:59 PM »
Вот решение твоей проблемы, нужно числа генерировать в переменные а уж потом их использовать в нескольких местах.

Code: (clickermann) [Select]
getscreen
colormode(8)
IF_PICTURE_IN (715,165,1017,470, "4.bmp",-1,90)
   LDOWN(709,482)
   WAITMS(50)
   $rx = RND(699,506)
   $ry = RND(966,676)
   MOVE($rx,$ry)
   WAITMS(50)
   LUP($rx,$ry)
   WAITMS(50)
END_IF

ronny56

  • Зашел в гости
  • *
  • Posts: 15
    • View Profile
Re: Анализ текста с картинки
« Reply #17 on: July 23, 2014, 09:59:54 PM »
Вот решение твоей проблемы, нужно числа генерировать в переменные а уж потом их использовать в нескольких местах.

Code: (clickermann) [Select]
getscreen
colormode(8)
IF_PICTURE_IN (715,165,1017,470, "4.bmp",-1,90)
   LDOWN(709,482)
   WAITMS(50)
   $rx = RND(699,506)
   $ry = RND(966,676)
   MOVE($rx,$ry)
   WAITMS(50)
   LUP($rx,$ry)
   WAITMS(50)
END_IF

перемещает,но не в заданом диапазоне,диапазон задал заного,всеравно,куда попало тыкает

ronny56

  • Зашел в гости
  • *
  • Posts: 15
    • View Profile
Re: Анализ текста с картинки
« Reply #18 on: July 23, 2014, 10:01:59 PM »

неважно подряд или нет ищи количество совпадений и через arrsize вычисляй сколько раз выпало

можно поподробнее,прочитал эту статью http://crapware.aidf.org/forum/index.php?topic=319.0 мало что понял,аналог If какое преимущество у SCAN перед IF  и как найти это количество совпадений?

aden

  • Оплот сообщества
  • ****
  • Posts: 363
    • View Profile
Re: Анализ текста с картинки
« Reply #19 on: July 23, 2014, 10:07:32 PM »

неважно подряд или нет ищи количество совпадений и через arrsize вычисляй сколько раз выпало

можно поподробнее,прочитал эту статью http://crapware.aidf.org/forum/index.php?topic=319.0 мало что понял,аналог If какое преимущество у SCAN перед IF  и как найти это количество совпадений?
SCANPICTURE  выводит координаты найденных картинок в массив

соответственно arrsize разделить на 2 выдаст количество найденных картинок

ronny56

  • Зашел в гости
  • *
  • Posts: 15
    • View Profile
Re: Анализ текста с картинки
« Reply #20 on: July 23, 2014, 10:16:26 PM »

неважно подряд или нет ищи количество совпадений и через arrsize вычисляй сколько раз выпало

можно поподробнее,прочитал эту статью http://crapware.aidf.org/forum/index.php?topic=319.0 мало что понял,аналог If какое преимущество у SCAN перед IF  и как найти это количество совпадений?
SCANPICTURE  выводит координаты найденных картинок в массив

соответственно arrsize разделить на 2 выдаст количество найденных картинок

Я ничего не понял как мне это поможет отсеять ненужные бижи,и оставить именно те где -12 или -18,что мне в коде то писать?

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: Анализ текста с картинки
« Reply #21 on: July 24, 2014, 02:33:06 AM »
перемещает,но не в заданом диапазоне,диапазон задал заного,всеравно,куда попало тыкает

Вот как вписать зону.

Code: (clickermann) [Select]
837,570 - Верхний левый угол
1022,677 - нижний правый


$rx = RND(837,1022)
$ry = RND(570,677)
MOVE($rx,$ry)

ronny56

  • Зашел в гости
  • *
  • Posts: 15
    • View Profile
Re: Анализ текста с картинки
« Reply #22 on: July 24, 2014, 12:14:03 PM »
перемещает,но не в заданом диапазоне,диапазон задал заного,всеравно,куда попало тыкает

Вот как вписать зону.

Code: (clickermann) [Select]
837,570 - Верхний левый угол
1022,677 - нижний правый


$rx = RND(837,1022)
$ry = RND(570,677)
MOVE($rx,$ry)

А теперь не анализирует текст.Так давайте сначала.Фиг с ним с перетаскиванием.Каждые 7 секунд создается 1 бижа,за это время,курсор заранее установлен уже на бижа. Кликер наводит на нее анализируется текст,где есть Время активации -6% х2,или х3 то есть , то кликер нажимает кнопку отмена,и завершает работу скрипта ,кнопка отмены(lclick(x:y) завершение работы(halt) Важно,что бы проверяло только чтобы было время активации х2,или х3,тобишь -12 и -18,а просто -6 выкидывало.Вот мой скрипт,где ошибки?
Code: (clickermann) [Select]
getscreen
colormode(8)
scanpicture($img, 0,0, $_xmax,$_ymax, "11.bmp",-1,99)
if($img>0)
   while (arrsize($img) > 0)
      $y = arrpop($img)
      $x = arrpop($img)
     lclick(249,522)
     halt
   end_cyc
else
ldown(743,517)
lup(626,466)
Keypress(#Y) 
end_if

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: Анализ текста с картинки
« Reply #23 on: July 24, 2014, 01:09:33 PM »
Так чтоль те надо?

Code: (clickermann) [Select]
getscreen
colormode(8)
scanpicture($img, 0,0, $_xmax,$_ymax, "11.bmp", -1, 99)
if(arrsize($img)>2)
   lclick(249,522) // сработает если найденно 2е и более картинок
   halt
else
   ldown(743,517)
   WAITMS(50)
   lup(626,466)
   WAITMS(50)
   Keypress(#Y)
   WAITMS(50)
   UNDEFINE($img)
end_if

ronny56

  • Зашел в гости
  • *
  • Posts: 15
    • View Profile
Re: Анализ текста с картинки
« Reply #24 on: July 24, 2014, 02:02:41 PM »
Так чтоль те надо?

Code: (clickermann) [Select]
getscreen
colormode(8)
scanpicture($img, 0,0, $_xmax,$_ymax, "11.bmp", -1, 99)
if(arrsize($img)>2)
   lclick(249,522) // сработает если найденно 2е и более картинок
   halt
else
   ldown(743,517)
   WAITMS(50)
   lup(626,466)
   WAITMS(50)
   Keypress(#Y)
   WAITMS(50)
   UNDEFINE($img)
end_if

Определяет как Время активации -6 любую картинку вообще

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: Анализ текста с картинки
« Reply #25 on: July 24, 2014, 03:00:35 PM »
Определяет как Время активации -6 любую картинку вообще
Это уже подбирай картинку и процент совпадения. Ничем по поиску от первого варианта не отличается. Значит и там стабильно не находил.

Вот смотри в колормоде 8 картинка "Время активации -3%" и "Время активации -6%" будет отличаться на 5-10 пикселов.
При твоей картинке 132х19 = 2508 пкс и допуске 1% игнорируются несовпадения в 25 пикселах. Здесь не только "Время активации -3%" прокатит, а и "Время активации -33%".

Уменьшай изображение поиска. Как минимум никогда не захватывай пустые области.
Узнаешь ты надпись в таком виде? 

А в данном случае лучше сделать вообще так:
Можно точно идентифицировать нужную строку не путая с другими и подбирать процент. Размер картинки 24х10 = 240
Каждый процент = 2 пикселам несовпадения. Можно подобрать довольно точно.
« Last Edit: July 24, 2014, 03:04:23 PM by Vint »


Atas

  • Активный участник
  • ***
  • Posts: 147
    • View Profile
Re: Анализ текста с картинки
« Reply #26 on: July 24, 2014, 03:03:58 PM »
Избавься от лишних пикселей. Зону поиска тоже надо уменьшить. Точность совпадения пикселей нужно поставить 100%. Лучше сделать несколько картинок для поиска одного и того же изображения, если недостаточно только цветокоррекции. При этом распознавание будет 100%. Достаточно будет искать такую картинку.

aden

  • Оплот сообщества
  • ****
  • Posts: 363
    • View Profile
Re: Анализ текста с картинки
« Reply #27 on: July 24, 2014, 03:08:33 PM »
Избавься от лишних пикселей. Зону поиска тоже надо уменьшить. Точность совпадения пикселей нужно поставить 100%. Лучше сделать несколько картинок для поиска одного и того же изображения, если недостаточно только цветокоррекции. При этом распознавание будет 100%. Достаточно будет искать такую картинку.

ну это уж слишком "-6%" может и в других надписях встречаться, просто максимально минимизировать картинку сохранив уникальность.

личное имхо: лучше включить погрешность в % соответствия чем кучу поисков городить. При поиске с колормоде8 могут рандомные пиксели иногда менятся изза меняющегося фона.

Atas

  • Активный участник
  • ***
  • Posts: 147
    • View Profile
Re: Анализ текста с картинки
« Reply #28 on: July 24, 2014, 03:50:01 PM »
Quote
При поиске с колормоде8 могут рандомные пиксели иногда менятся изза меняющегося фона.
Вот я и предлагаю отследить все варианты и на каждый создать картинку, т.е. сделать упор на 100% распознавание. Картинок кстати будет не много. На первых порах скрипт должен делать скриншот и останавливаться, в случае если не смог распознать изображение. Лучше уж пусть бот ничего не сделает, чем например, выкинет из инвентаря дорогой предмет.

aden

  • Оплот сообщества
  • ****
  • Posts: 363
    • View Profile
Re: Анализ текста с картинки
« Reply #29 on: July 24, 2014, 03:54:09 PM »
вынужден не согласится на процент совпадения выставленный в 95-99 % позволит отсеять возможные изменения пары  рандомных пикселей, а вот выискивание всех возможных вариаций картинки может вылиться в увлекательное приключение поскольку искомая картинка мало того что появляется в рандомном месте так и еще и фон не статический.