Автор Тема: [Автоматизация] Утилита для написания кода AutoIt по распознованию цифр с экрана (не капчи)  (Прочитано 11671 раз)

0 Пользователей и 2 Гостей просматривают эту тему.

Оффлайн C2H5OH [?]

  • Знаю я тут одно место с офигенными циркулями...
  • AutoIt Гуру
  • *****
  • Сообщений: 1473
  • Репутация: 332
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.12.0
Мне в ботах часто приходится читать на экране цифры, которые расположены в фиксированном месте, на однотонном фоне и написаны нормальным шрифтом.
В память я не лезу и внешние программы тоже неохотно использую.
Поэтому я распознаю цифры в самих скриптах своих ботов.

История создания
(нажмите для показа/скрытия)

Как пользоваться утилитой.
Само-собой, запустить. Она повиснет в трее.
После этого нужно определить область, в которой появляются цифры. Навести мышку на левый верхний угол этого прямоугольника и нажать Shift+Alt+b. Навести мышку на правый нижний угол этого прямоугольника и нажать Shift+Alt+e.
Затем нужно определить цвет фона, на котором рисуются цифры - навести мышку на "пустое" место и нажать Shift+Alt+f.
После этого, когда в игре будут отображаться цифры, зафиксировать изображение всех цифр - Shift+Alt+1 ... Shift+Alt+0
Когда всё это проделано нажать Shift+Alt+x
(Само собой можно поставить любые удобные комбинации кнопок)
(нажмите для показа/скрытия)

После завершения скрипта, в том каталоге откуда он был запущен, появятся два файла:
.au3 -код функции для распознавания цифр
.log - собственно лог захвата изображений

GUI не рисовал так как игрушки у меня в полноэкранном режиме.
Та и типсы от отладки остались. :)
Рано или поздно все станет понятно, все станет на свои места и выстроится в единую красивую схему, как кружева. Станет понятно, зачем все было нужно, потому что все будет правильно.

Русское сообщество AutoIt


Оффлайн Andrei7 [?]

  • Новичок
  • *
  • Сообщений: 72
  • Репутация: 3
    • Награды
можете привести в  пример  парочку таких игр, где такое нужно?  :)

Оффлайн C2H5OH [?]

  • Знаю я тут одно место с офигенными циркулями...
  • AutoIt Гуру
  • *****
  • Сообщений: 1473

  • Автор темы
  • Репутация: 332
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.12.0
Во, вспомнил игру, где администрация уходит от рассмотрения вопросов о легальности использования такого вида ботов, то есть закрывает глаза. (а так вообще вопрос нетактичный...)
(нажмите для показа/скрытия)

Правда там фон не однотонный, поэтому я для этой игры в зоне появления цифр искал пиксели у которых красная составляющая больше 200 (белое на синем фоне :)) А так алгоритм тот же.

Оффлайн _ToBe_ [?]

  • Осваивающий
  • **
  • Сообщений: 142
  • Репутация: 34
    • Награды
А сколько времени занимает анализ строки с 10-ти значным значением?

Русское сообщество AutoIt


Оффлайн C2H5OH [?]

  • Знаю я тут одно место с офигенными циркулями...
  • AutoIt Гуру
  • *****
  • Сообщений: 1473

  • Автор темы
  • Репутация: 332
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.12.0
10 запусков - по одному на каждый знак (вообще-то в таком случае у меня был бы один запуск на одну позицию, а потом рассчет смещения для каждого разряда).

_ToBe_,
ты не понял суть алгоритмя. Берется место где появляется одна цифра. Собираются пиксели всех цифр от 1 до 0, когда они появляются в этом месте. А потом определяются пиксели, которые принадлежат только одной из этих цифр.
Дальше строится функция, которая по анализу появления этих пикселей определяет какая там цифра.

Оффлайн Дмитрий1984 [?]

  • Новичок
  • *
  • Сообщений: 24
  • Репутация: 0
    • Награды
_ToBe_,
ты не понял суть алгоритмя. Берется место где появляется одна цифра. Собираются пиксели всех цифр от 1 до 0, когда они появляются в этом месте. А потом определяются пиксели, которые принадлежат только одной из этих цифр.
Дальше строится функция, которая по анализу появления этих пикселей определяет какая там цифра.

Ты бы мог написать эту функцию? Во флэш в определенной области цифры. Координаты могут незначительно смещаться, но есть область, где они точно находятся. Как их конвертировать в цифровое значение. Очень прошу код.

Оффлайн C2H5OH [?]

  • Знаю я тут одно место с офигенными циркулями...
  • AutoIt Гуру
  • *****
  • Сообщений: 1473

  • Автор темы
  • Репутация: 332
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.12.0
Re: [Данные, строки] Распознавание текста
« Ответ #6, Отправлен: Август 09, 2014, 07:59:01 »
Дмитрий1984,
angrypets - это браузерка в чистом виде. Никаким флешем там и не пахнет. Не морочь голову себе и другим надуманным распознаванием текста. Твоё золото находится здесь.

<span title="золото" class="gold"><i></i>0</span>
« Последнее редактирование: Август 09, 2014, 08:30:29 от C2H5OH »

Оффлайн Дмитрий1984 [?]

  • Новичок
  • *
  • Сообщений: 24
  • Репутация: 0
    • Награды
Re: [Данные, строки] Распознавание текста
« Ответ #7, Отправлен: Август 09, 2014, 11:14:28 »
Дмитрий1984,
angrypets - это браузерка в чистом виде. Никаким флешем там и не пахнет. Не морочь голову себе и другим надуманным распознаванием текста. Твоё золото находится здесь.

<span title="золото" class="gold"><i></i>0</span>

И что дальше? Я не про angrypets.

Русское сообщество AutoIt

Re: [Данные, строки] Распознавание текста
« Ответ #7 Отправлен: Август 09, 2014, 11:14:28 »

Оффлайн C2H5OH [?]

  • Знаю я тут одно место с офигенными циркулями...
  • AutoIt Гуру
  • *****
  • Сообщений: 1473

  • Автор темы
  • Репутация: 332
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.12.0
Ты приводишь скриншот из angrypets, где число написано непропорциональным шрифтом. Та утилита которую я предлагал, работает с пропорциональными шрифтами.
Даже не знаю что дальше...

Оффлайн Дмитрий1984 [?]

  • Новичок
  • *
  • Сообщений: 24
  • Репутация: 0
    • Награды
Ты приводишь скриншот из angrypets, где число написано непропорциональным шрифтом. Та утилита которую я предлагал, работает с пропорциональными шрифтами.
Даже не знаю что дальше...

Вот что распознать нужно(шрифт мелкий и на границе может быть легкое перетекание в фон):

(нажмите для показа/скрытия)
« Последнее редактирование: Август 09, 2014, 13:43:59 от Дмитрий1984 »

Русское сообщество AutoIt


 

Похожие темы

  Тема / Автор Ответов Последний ответ
25 Ответов
24387 Просмотров
Последний ответ Сентябрь 04, 2017, 22:45:13
от CreatoR
2 Ответов
3317 Просмотров
Последний ответ Октябрь 26, 2011, 02:53:58
от valdur2000
2 Ответов
3972 Просмотров
Последний ответ Май 06, 2012, 01:15:29
от Spays
1 Ответов
2805 Просмотров
Последний ответ Январь 22, 2013, 14:19:14
от madmasles
11 Ответов
13666 Просмотров
Последний ответ Апрель 26, 2017, 15:31:48
от InnI
7 Ответов
2492 Просмотров
Последний ответ Ноябрь 18, 2014, 15:39:18
от cnm
0 Ответов
860 Просмотров
Последний ответ Ноябрь 17, 2014, 19:50:15
от madmasles
11 Ответов
2322 Просмотров
Последний ответ Декабрь 28, 2015, 21:05:33
от Δαηy Δαηy
0 Ответов
552 Просмотров
Последний ответ Июнь 13, 2018, 15:05:48
от IMStrelcov
0 Ответов
490 Просмотров
Последний ответ Июнь 13, 2018, 15:12:22
от IMStrelcov