Автор Тема: Анализ текста в окне  (Прочитано 69701 раз)

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

ЦИТРИН

  • Супермодератор
  • Оплот сообщества
  • *
  • Сообщений: 484
  • Марафон опавших листьев, коктейль из дыма и мыслей
    • Просмотр профиля
Re: Анализ текста в окне
« Ответ #15 : Январь 07, 2013, 12:50:27 pm »
ифпикчеин тут не подойдет. придется делать более 6 тысяч картинок
Зачем 6000?
 Если капча,  то  есть антикапча.
 Если обычная цифра, то их разнообразие ограничивается всего 10 картинками.
Анализировал в флашигре (файерфокс) через ифпикчеин цифры  размером шрифта примерно 8 размера.
п.с.
Делал давно. В новых версиях ещё не пробовал.
Бабочки полёт будит тихую поляну в солнечном свету...

резнов

  • Зашел в гости
  • *
  • Сообщений: 12
  • Nothing less, I wanna hear a yes
    • Просмотр профиля
Re: Анализ текста в окне
« Ответ #16 : Январь 08, 2013, 05:56:27 pm »
ифпикчеин тут не подойдет. придется делать более 6 тысяч картинок
Зачем 6000?
 Если капча,  то  есть антикапча.
 Если обычная цифра, то их разнообразие ограничивается всего 10 картинками.
Анализировал в флашигре (файерфокс) через ифпикчеин цифры  размером шрифта примерно 8 размера.
п.с.
Делал давно. В новых версиях ещё не пробовал.
т.е. для распознавания нужно будет загонять все это дело(картинку с цифрами) на сайт для расшифровки?

ЦИТРИН

  • Супермодератор
  • Оплот сообщества
  • *
  • Сообщений: 484
  • Марафон опавших листьев, коктейль из дыма и мыслей
    • Просмотр профиля
Re: Анализ текста в окне
« Ответ #17 : Январь 08, 2013, 06:22:06 pm »
. для распознавания нужно будет загонять все это дело(картинку с цифрами) на сайт для расшифровки?
Да.  Как-то так.
Там одна капча вроде бы 3 копейки на наши деньги стоит.
3 рубля за сотню.
30 р за тысячу.
В Вашем случае  180 рублей за  все 6000 картинок.
Если речь о капче , разумеется.
Вы так и не сформулировали свою задачу.
А мы тут гадаем.
Бабочки полёт будит тихую поляну в солнечном свету...

резнов

  • Зашел в гости
  • *
  • Сообщений: 12
  • Nothing less, I wanna hear a yes
    • Просмотр профиля
Re: Анализ текста в окне
« Ответ #18 : Январь 24, 2013, 01:54:30 pm »
Почему гадаете? я ж вроде объяснял задачу?
короче говоря вот пример страницы:

параметр №1;параметр №2

бесполезные картинки и т.д.
Ненужный параметр№1/ненужный параметр №2
параметры №3 №4 параметры№5 №6
Кнопка активности №1 // может быть,а может и отсутствовать
Кнопка активности №2
Кнопка активности №3
Кнопка активности №4
Кнопка активности №5
Кнопка активности №6 //появляется в зависимости от значений параметров №1 и №2

Кнопка неигровой активности(от 2 до 4 штук)
около 20 строк лога

Кнопка активности №7
Кнопка активности №8
Кнопка активности №9.

Что от этого нужно:
Если Параметр №1 <2000 - кнопка активности №1
Если Параметр №1 >2000 - кнопка активности №2
Если Параметр №3+параметр №4 < параметр №5 + параметр №6,то - кнопка неигровой активности №2
Если в логе есть "надпись" то - кнопка активности №4.

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

СлавьЯнИнъ

  • Активный участник
  • ***
  • Сообщений: 179
    • Просмотр профиля
Re: Анализ текста в окне
« Ответ #19 : Январь 24, 2013, 02:31:27 pm »
Видимо, Резнов, антикапчу вообще не рассматривает?!
Если я правильно понял, то задача состоит в анализе игровых данных, в форме печатного текста или чисел.
Резнов, если хочешь научить скрипт распознавать именно текст, то следует вести попиксельную визуальную проверку.
добрый смех равняет всех

Vint

  • Супермодератор
  • Герой форума
  • *
  • Сообщений: 3802
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • Просмотр профиля
Re: Анализ текста в окне
« Ответ #20 : Январь 24, 2013, 04:17:55 pm »
Напиши свою подпрограмму распознования чисел по картинкам цифр под свой шрифт.
Картинок понадобится не 6000, а всего 11.
Например как товарищ: http://crapware.aidf.org/forum/index.php?topic=134.0
Но только без ошибок и под свою задачу.
Главное чтоб сглаживание сильно не мешало (каждый раз разные изображения цифр).
Ещё нужно учесть диапазон чисел, выводится ли число с соблюдением разрядности. Пример:
5432
32

или

5432
  32
И как нибудь определять конец числа в первом случае и начало в обоих (решено). Или маркер или изображение границы кнопки...
« Последнее редактирование: Январь 31, 2013, 09:41:45 am от Vint »


резнов

  • Зашел в гости
  • *
  • Сообщений: 12
  • Nothing less, I wanna hear a yes
    • Просмотр профиля
Re: Анализ текста в окне
« Ответ #21 : Январь 24, 2013, 07:53:53 pm »
Видимо, Резнов, антикапчу вообще не рассматривает?!
Если я правильно понял, то задача состоит в анализе игровых данных, в форме печатного текста или чисел.
Резнов, если хочешь научить скрипт распознавать именно текст, то следует вести попиксельную визуальную проверку.

я как бэ не ас в кликере:) как это сделать?

СлавьЯнИнъ

  • Активный участник
  • ***
  • Сообщений: 179
    • Просмотр профиля
Re: Анализ текста в окне
« Ответ #22 : Январь 24, 2013, 09:15:43 pm »
Резнов. твоя тема: Анализ текста в окне.
michael. его тема: Помогите с процедурой распознавания чисел.

У вас может быть схожая задача. В его теме приведён пример кода. Спишись с ним и работайте над темой вместе.
И у кликера появится собственный OCR проект.  :)

В любом случае, Резнов, надо радоваться жизни в совместном творчестве.
Брать скрипт и вникать ))
добрый смех равняет всех

Vint

  • Супермодератор
  • Герой форума
  • *
  • Сообщений: 3802
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • Просмотр профиля
Re: Анализ текста в окне
« Ответ #23 : Январь 24, 2013, 09:36:07 pm »
Аж самому стало интересно решить задачу. В принципе в голове 2-3 схемы есть давно. Нет конкретной задачи или надобности. Еще интересней какой из вариантов выигрышней по скорости.
Моя беда, стараюсь почти все сделать универсальным и настраиваемым.  Если скрипт писать под конкретную задачу выйдет в 2 раза меньше.


Vint

  • Супермодератор
  • Герой форума
  • *
  • Сообщений: 3802
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • Просмотр профиля
Re: Анализ текста в окне
« Ответ #24 : Январь 31, 2013, 10:41:31 am »
Вот набросал распознавалку чисел. В основном для использования в играх, т.к. есть ограничения...
Старался сделать универсальным и настраиваемым. Не важно выравнивание идёт по первому или последнему разряду.

Старая версия, ещё под 4.7
[spoiler]Вариант скрипта с последовательным перебором разрядов.
Хотел обойтись без текстовых файлов, только переменные. Использование текстовых файлов уменьшило бы размер скрипта, но я думаю сказалось бы незначительно на скорости работы и удобстве настройки.
Скрипт при внедрении лучше организовать как подпрограмму.

О ограничениях.
  • Только целые положительные числа. Думаю для игр этого хватит, здоровье там всякое, сила и т.п.
  • Максимум 10 разрядов. Если кровь из носа - можно переписать скрипт на другое кол-во  :)
  • Расположение цифр равномерное. Что это значит: разряды должны идти через равный промежуток
    299000, а не 299 000 и т.п.
  • Определение конца числа по маркеру (картинке) либо по отсутствию найденных цифр. Файл *11.bmp должен быть всё равно, например мой digit_11.bmp

Настройка.
Не пугаться! Письменно выглядит много, но всё на самом деле просто.
  • Необходимо заготовить картинки с цифрами 1,2,3,4,5,6,7,8,9,0 дать им соответствующие имена digit_1.bmp-digit_0.bmp
    Можно заготовить маркер окончания digit_11.bmp
  • Замерить шаг разрядов - расстояние в пикселах от начала одной цифры до начала следующей и присвоить переменной $sdvig значение чуть меньше (можно на 1-2 пиксела, для больших шрифтов можно и больше).
  • Если в пределах вашего скрипта буде распознаваться несколько шрифтов, при вызове подпрограммы нужно каждый раз задавать $sdvig и префикс имён файлов $pref. Если шрифт один - только один раз.
  • При вызове задаём координаты поля в котором будет искаться число
    $field_x1, $field_y1, $field_x2=, $field_y2
  • Результат возвращается в переменную $res, если не найдено $res=-1.

Сам скрипт.
Код: Clickermann
  1. #name "Распознавание чисел"
  2. // Author: Vint
  3. // Version: 1.1 (30.01.2013)
  4. // Результат возвращается в $res если не найдено $res=-1
  5. // Только целые числа. Максимум 10 разрядов. Расположение цифр равномерное.
  6. // Вариант скрипта с последовательным перебором разрядов
  7. // Хотел обойтись без текстовых файлов, только переменные
  8.  
  9.  
  10. //====== переменные которые задаются 1 раз если всего один шрифт ====
  11. //если в скрипте будет искаться несколько наборов шрифтов, то задавать каждый раз при вызове
  12. $sdvig=6 // сдвиг, чуть меньше чем ширина 1 цифры с отступом
  13. $pref="textures\digit_" // префикс имён файлов с цифрами
  14.  
  15.  
  16. //====== переменные которые задаются при вызове поиска ====
  17. //если место поиска всего одно, задавать только один раз
  18. $field_x1=0 // поле под число, координата X1
  19. $field_y1=0 // поле под число, координата y1
  20. $field_x2=0 // поле под число, координата X2
  21. $field_y2=0 // поле под число, координата y2
  22.  
  23.  
  24. //====== внутренние переменные  ====
  25. $razr_max=0 // максимальная разрядность числа
  26. $xmin=5000
  27. $res=-1 // очищаем результат
  28. $i=0                 // очищаем результат
  29.  
  30.  
  31.  
  32. //================== начало ====================================================
  33. FOR ($obhod, $obhod<10) // очищаем результат
  34.   GOSUB(sdvig_razryada)
  35. END_CYC
  36.  
  37. GETSCREEN
  38. FOR ($i, $i<10) // ищем самую левую цифру
  39.   IF_PICTURE_IN ($field_x1,$field_y1,$field_x2,$field_y2, STRCONCAT($pref,$i,".bmp"))
  40.      IF($_return1<$xmin)
  41.         $xmin=$_return1
  42.         INC($razr_max)
  43.         $res1=$i
  44.         IF($res1=10) // учитываем что 10-я картинка это 0
  45.            $res1=0
  46.         END_IF
  47.      END_IF
  48.   END_IF
  49. END_CYC
  50. IF($xmin=5000)
  51.   LOGWRITE ("число не найдено")
  52.   GOTO(endfindnumber)
  53. END_IF
  54.  
  55. $field_x1=$xmin+$sdvig
  56. $perebor=1
  57. WHILE($perebor>0)
  58.   $razr_temp=$razr_max
  59.   FOR ($i,$i<11)
  60.      IF_PICTURE_IN ($field_x1,$field_y1,$field_x1+INT($sdvig*1.3),$field_y2, STRCONCAT($pref,$i,".bmp"))
  61.         $field_x1=$_return1+$sdvig
  62.         IF($i<11)
  63.            INC($razr_max)
  64.            GOSUB(sdvig_razryada)
  65.            IF($res1=10) // учитываем что 10-я картинка это 0
  66.               $res1=0
  67.            END_IF
  68.         END_IF
  69.         IF($i=11) // проверка если нашли маркер конца ...11.bmp, то конец
  70.            $perebor=0
  71.         END_IF
  72.         $i=11              // выходим из цикла
  73.      END_IF
  74.   END_CYC
  75.   IF(($razr_temp=$razr_max) | ($razr_max=10)) // проверка если не нашли или уже 10 разрядов, то конец
  76.      $perebor=0
  77.   END_IF
  78. END_CYC
  79.  
  80. // подсчитываем
  81. $res=$res1+$res2*10+$res3*100+$res4*1000+$res5*10000+$res6*100000+$res7*1000000+$res8*10000000+$res9*100000000+$res10*1000000000
  82.  
  83. endfindnumber:
  84. LOGWRITE ("Найдено число:  ",$res)
  85. HINTPOPUP("Найдено число:  ",$res)
  86. HALT
  87.  
  88.  
  89. //==============================================================================
  90. SUB(sdvig_razryada)
  91.   $res10=$res9
  92.   $res9=$res8
  93.   $res8=$res7
  94.   $res7=$res6
  95.   $res6=$res5
  96.   $res5=$res4
  97.   $res4=$res3
  98.   $res3=$res2
  99.   $res2=$res1
  100.   $res1=$i
  101. END_SUB
  102. //==============================================================================
  103.  

Во вложении Сам скрипт "Распознавание чисел 1.1.cms"+ скрипт для демонстрации и проверки "Распознавание чисел 1.1 пример Clickermann.cms" полностью настроенный с картинками.

Запускаем "Распознавание чисел 1.1 пример Clickermann.cms"
Открываем редактор кликера на полный экран. Распознаётся число в поле редактора "Цвет:".
Можно наводить мышь на любой цвет и горячими клавишами запускать скрипт. Результат в трее и в логе.

P. S.  Жаль на форуме затишье. Становится скучно.[/spoiler]


Обновил под Clickermann 4.11

Версия 1.3
Точнее полностью переписал. Раньше так не хватало массивов и scanpicture.
Заодно избавился от ограничений в 10 разрядов и обязательного отсутствия разделения разрядов
Теперь хоть 100000999, хоть 100 000 999
Файл скрипта во вложении "Распознавание чисел 1.3.cms"
Оформлено в подпрограмму.

Код
[spoiler]
Код: Clickermann
  1. #name "Распознавание чисел"
  2. // Author: Vint
  3. // Version: 1.3 (01.04.2015)
  4. // Скрипт для Clickermann v4.11 002
  5.  
  6. // подключение number_read
  7. // #include "Распознавание чисел 1.3.cms"
  8.  
  9. //==============================================================================
  10. SUB(LOG_ARR)
  11.   //LOGWRITE ("Размер массива: ",ARRSIZE($num))
  12.   LOGWRITE (" ")
  13.   LOGWRITE ("    0    1    2    3    4    5    6    7    8    9")
  14.   LOGWRITE (" ")
  15.   $maxn = 0
  16.   FOR ($i=0, $i < 10)
  17.      IF($num[$i] > $maxn)
  18.         $maxn = $num[$i]
  19.      END_IF
  20.   END_CYC
  21.  
  22.   FOR($row=0, $row < 2)
  23.      $text = ""
  24.      FOR ($i=0, $i < 10)      
  25.         $l = $num[10*$row + $i]
  26.         FOR ($j=0, $j < (5 - STRLEN($l)))
  27.            $text = STRCONCAT($text, " ")
  28.         END_CYC
  29.         $text = STRCONCAT($text, $l)
  30.      END_CYC
  31.      LOGWRITE ($text)
  32.   END_CYC
  33.   LOGWRITE (" ")
  34.  
  35.   FOR($row=2,$row < $maxn + 2)
  36.      $text = ""
  37.      FOR ($i=0, $i < 10)
  38.         IF($num[$i] > ($row - 2))
  39.            $l = $num[10*$row + $i]
  40.         ELSE
  41.            $l = "X"
  42.         END_IF
  43.  
  44.         FOR ($j=0, $j < (5 - STRLEN($l)))
  45.            $text = STRCONCAT($text, " ")
  46.         END_CYC
  47.         $text = STRCONCAT($text, $l)
  48.      END_CYC
  49.      LOGWRITE ($text)
  50.   END_CYC
  51.   LOGWRITE (" ")
  52. END_SUB
  53.  
  54. //==============================================================================
  55.  
  56. SUB(number_read, $f_x1,$f_y1,$f_x2,$f_y2, $pref)
  57.   // $f_x1, $f_y1 область ЛевоВерх
  58.   // $f_x2, $f_y2 область ПравоНиз
  59.   // $pref = "textures\digit_" префикс имён файлов с цифрами (для разных шрифтов)
  60.  
  61.   // Результат возвращается в $res если не найдено $res=-1
  62.  
  63.   // Только целые числа.
  64.   // $pref  зависит от шрифта поиска
  65.  
  66.   $res = -1 // очищаем ответ
  67.   UNDEFINE($num) // главный массив данных
  68.   UNDEFINE($n_temp) // временный массив для SCANPICTURE
  69.  
  70.   GETSCREEN
  71.   FOR ($i=0, $i < 10)
  72.      SCANPICTURE($n_temp, $f_x1,$f_y1,$f_x2,$f_y2, STRCONCAT($pref,$i,".bmp"))
  73.      $a_size = ARRSIZE($n_temp)
  74.      $num[$i] = $a_size / 2 // заносим количество элементов в этом разряде
  75.      $num[$i+10] = 0 // счётчик разрядов, пока 0
  76.      IF($a_size > 0)
  77.         FOR($j=0, $j < $a_size, 2)
  78.            $num[10*($j/2 + 2)+ $i] = $n_temp[$j] // заносим коорд X в массив
  79.         END_CYC
  80.         UNDEFINE($n_temp)
  81.      END_IF
  82.   END_CYC
  83.  
  84.   IF(ARRSIZE($num) > 0)
  85.      IF($log = 1)
  86.         LOG_ARR()
  87.      END_IF
  88.  
  89.      $repeat = 1
  90.      WHILE($repeat = 1)
  91.         $empty = 0
  92.         $xmin = 5000
  93.         $pos_min = 0
  94.         FOR ($i=0, $i < 10)
  95.            IF($num[$i] > ($num[10 + $i]))
  96.               $empty = 1
  97.               $l = $num[10 * ($num[10+$i]+2) + $i]
  98.               IF($l < $xmin)
  99.                  $xmin = $l
  100.                  $pos_min = $i
  101.               END_IF
  102.            END_IF
  103.         END_CYC
  104.  
  105.         IF($empty = 0)
  106.            $repeat = 0
  107.         ELSE
  108.            IF($res = -1)
  109.               $res = STRCONCAT("", $pos_min)   // если первыё символ
  110.            ELSE
  111.               $res = STRCONCAT($res, $pos_min) // последующие символы
  112.            END_IF
  113.            $num[10 + $pos_min] = ($num[10 + $pos_min]) + 1 // INC счётчик для разряда
  114.         END_IF
  115.      END_CYC
  116.      $res = INT($res)
  117.   ELSE
  118.      LOGWRITE ("число не найдено")
  119.   END_IF
  120. END_SUB
  121.  
  122. //LOGCLEAR
  123. //$log = 1
  124. //number_read(271,385,335,401, "textures\digit_")
  125. //LOGWRITE ("Найдено число:  ",$res)
  126. //HINTPOPUP("Найдено число:  ",$res)
  127. //HALT
[/spoiler]

Тест в редакторе кликера и пример использования файл: "Тестирование распознавалки 1.3 XP.cms"
Видео теста: http://youtu.be/d55wq7cbVe8.

Add версия 1.4
Поддерживает числа с запятой.
Запятую/точку заготавливаем как digit_10.bmp (или свой префикс)
Возвращает результат как строку! Для перевода в число нужно учесть диапазон.

[spoiler]Для перевода в число нужно пробовать... там все сложно с диапазонами
Если число 0 целых...
0.0001234545
то перевести можно до 13 знака
Код: Clickermann
  1. $res = ROUND($res, -13)

если до
21.46999999
то до 8-го знака после запятой
Код: Clickermann
  1. $res = ROUND($res, -8)

для бОльших нужно пробовать

для целых всё сохраняется от старой версии, применяем только сами
Код: Clickermann
  1. $res =INT($res)
[/spoiler]

Код:
[spoiler]
Код: Clickermann
  1. #name "Распознавание чисел"
  2. // Author: Vint
  3. // Version: 1.4 (14.04.2015)
  4. // Скрипт для Clickermann v4.11 002
  5.  
  6. // подключение number_read
  7. // #include "Распознавание чисел 1.4.cms"
  8.  
  9. //==============================================================================
  10. SUB(LOG_ARR)
  11.   //LOGWRITE ("Размер массива: ",ARRSIZE($num))
  12.   LOGWRITE (" ")
  13.   LOGWRITE ("    0    1    2    3    4    5    6    7    8    9    .")
  14.   LOGWRITE (" ")
  15.   $maxn = 0
  16.   FOR ($i=0, $i < 11)
  17.      IF($num[$i] > $maxn)
  18.         $maxn = $num[$i]
  19.      END_IF
  20.   END_CYC
  21.  
  22.   FOR($row=0, $row < 2)
  23.      $text = ""
  24.      FOR ($i=0, $i < 10)
  25.         $l = $num[11*$row + $i]
  26.         FOR ($j=0, $j < (5 - STRLEN($l)))
  27.            $text = STRCONCAT($text, " ")
  28.         END_CYC
  29.         $text = STRCONCAT($text, $l)
  30.      END_CYC
  31.      LOGWRITE ($text)
  32.   END_CYC
  33.   LOGWRITE (" ")
  34.  
  35.   FOR($row=2,$row < $maxn + 2)
  36.      $text = ""
  37.      FOR ($i=0, $i < 11)
  38.         IF($num[$i] > ($row - 2))
  39.            $l = $num[11*$row + $i]
  40.         ELSE
  41.            $l = "X"
  42.         END_IF
  43.  
  44.         FOR ($j=0, $j < (5 - STRLEN($l)))
  45.            $text = STRCONCAT($text, " ")
  46.         END_CYC
  47.         $text = STRCONCAT($text, $l)
  48.      END_CYC
  49.      LOGWRITE ($text)
  50.   END_CYC
  51.   LOGWRITE (" ")
  52. END_SUB
  53.  
  54. //==============================================================================
  55.  
  56. SUB(number_read, $f_x1,$f_y1,$f_x2,$f_y2, $pref)
  57.   // $f_x1, $f_y1 область ЛевоВерх
  58.   // $f_x2, $f_y2 область ПравоНиз
  59.   // $pref = "textures\digit_" префикс имён файлов с цифрами (для разных шрифтов)
  60.  
  61.   // Результат возвращается в $res если не найдено $res=-1
  62.  
  63.   // Только целые числа.
  64.   // $pref  зависит от шрифта поиска
  65.  
  66.   $res = -1 // очищаем ответ
  67.   UNDEFINE($num) // главный массив данных
  68.   UNDEFINE($n_temp) // временный массив для SCANPICTURE
  69.  
  70.   GETSCREEN
  71.   FOR ($i=0, $i < 11)
  72.      SCANPICTURE($n_temp, $f_x1,$f_y1,$f_x2,$f_y2, STRCONCAT($pref,$i,".bmp"))
  73.      $a_size = ARRSIZE($n_temp)
  74.      $num[$i] = $a_size / 2 // заносим количество элементов в этом разряде
  75.      $num[$i+11] = 0 // счётчик разрядов, пока 0
  76.      IF($a_size > 0)
  77.         FOR($j=0, $j < $a_size, 2)
  78.            $num[11*($j/2 + 2)+ $i] = $n_temp[$j] // заносим коорд X в массив
  79.         END_CYC
  80.         UNDEFINE($n_temp)
  81.      END_IF
  82.   END_CYC
  83.  
  84.   IF(ARRSIZE($num) > 0)
  85.      IF($log = 1)
  86.         LOG_ARR()
  87.      END_IF
  88.  
  89.      $repeat = 1
  90.      WHILE($repeat = 1)
  91.         $empty = 0
  92.         $xmin = 5000
  93.         $pos_min = 0
  94.         FOR ($i=0, $i < 11)
  95.            IF($num[$i] > ($num[11 + $i]))
  96.               $empty = 1
  97.               $l = $num[11 * ($num[11+$i]+2) + $i]
  98.               IF($l < $xmin)
  99.                  $xmin = $l
  100.                  $pos_min = $i
  101.               END_IF
  102.            END_IF
  103.         END_CYC
  104.  
  105.         IF($empty = 0)
  106.            $repeat = 0
  107.         ELSE
  108.            IF($res = -1)
  109.               $res = STRCONCAT("", $pos_min)   // если первыё символ
  110.            ELSE
  111.               IF($pos_min < 10)
  112.                  $res = STRCONCAT($res, $pos_min) // последующие символы цифры
  113.               ELSE
  114.                  $res = STRCONCAT($res, ".") // последующие символы  зпт
  115.               END_IF  
  116.            END_IF
  117.            $num[11 + $pos_min] = ($num[11 + $pos_min]) + 1 // INC счётчик для разряда
  118.         END_IF
  119.      END_CYC
  120.      //$res = ROUND($res, -8)
  121.   ELSE
  122.      LOGWRITE ("число не найдено")
  123.   END_IF
  124. END_SUB
  125.  
  126. //LOGCLEAR
  127. //$log = 1
  128. //number_read(271,385,335,401, "textures\digit_")
  129. //LOGWRITE ("Найдено число:  ",$res)
  130. //HINTPOPUP("Найдено число:  ",$res)
  131. //HALT
[/spoiler]

Add версия 1.5
Версия 1.4 с поддержкой поиска с COLORMODE. Для каждой цифры можно задать индивидуальный %
« Последнее редактирование: Июль 22, 2015, 03:24:52 pm от Vint »


резнов

  • Зашел в гости
  • *
  • Сообщений: 12
  • Nothing less, I wanna hear a yes
    • Просмотр профиля
Re: Анализ текста в окне
« Ответ #25 : Январь 31, 2013, 07:13:06 pm »
Винт,круто,очень круто. В кликере я почти что полный нупь,так что можно нубский вопрос: текст можно этим кодом найти?

Vint

  • Супермодератор
  • Герой форума
  • *
  • Сообщений: 3802
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • Просмотр профиля
Re: Анализ текста в окне
« Ответ #26 : Январь 31, 2013, 08:22:25 pm »
Винт,круто,очень круто. В кликере я почти что полный нупь,так что можно нубский вопрос: текст можно этим кодом найти?
Текст... Нет. Ты прямо меня в ступор ввел этим вопросом.
Я не вижу задачи для которой понадобится распознавать текст. Ты же не собираешься кликером проверять правописание или делать переводчик. Для всех задач где целесообразно использовать кликер, достаточно поиска картинки.
Хотя задачу придумать можно конечно.


i0

  • Оплот сообщества
  • ****
  • Сообщений: 353
  • CMann 4.13.014 final, ie, presto, win7 x86, x64
    • Просмотр профиля
Re: Анализ текста в окне
« Ответ #27 : Август 02, 2014, 05:15:57 pm »
угу, я вот придумал… на свою голову

"сигнализация" на случай грабежа твоего города в браузерке (flash).
хочется, чтобы она орала ник грабителя, а он только в картинке есть

ну это так, лирическое отступление :)

aden

  • Оплот сообщества
  • ****
  • Сообщений: 363
    • Просмотр профиля
Re: Анализ текста в окне
« Ответ #28 : Август 02, 2014, 06:09:57 pm »
угу, я вот придумал… на свою голову

"сигнализация" на случай грабежа твоего города в браузерке (flash).
хочется, чтобы она орала ник грабителя, а он только в картинке есть

ну это так, лирическое отступление :)
ну по аналогии раздуйте данный скрипт до распознавания текста только длина текста будет сильно ограничена и количество букв тут не 10 будет =)

Vint

  • Супермодератор
  • Герой форума
  • *
  • Сообщений: 3802
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • Просмотр профиля
Re: Анализ текста в окне
« Ответ #29 : Апрель 01, 2015, 11:47:39 am »
Обновил распознавалку под Clickermann 4.11
http://crapware.aidf.org/forum/index.php?topic=88.msg1571#msg1571