Author Topic: По ходу освоения Clickermann'а буду задавать вопросы  (Read 8006 times)

0 Members and 1 Guest are viewing this topic.

StarControl

  • Зашел в гости
  • *
  • Posts: 16
    • View Profile
И у меня невольно получилась сортировка выбором
https://habr.com/post/422085/
А у Андрея пузырьком
https://habr.com/post/414653/

Статью обезательно прочитаю (думаю половину не пойму, но для общего развития), но проподает последняя цифра не из-за этого? (с права, если на конце 22 или 33 или 44 и т.д то одна из цифр не отображается, видно решает что одну и туже нашел)
Еще сейчас статью где сам скрипт гляну, так как была там похожая проблема.


Все работает как надо, настроин... Спасибо.
« Last Edit: November 13, 2018, 05:16:49 PM by StarControl »

StarControl

  • Зашел в гости
  • *
  • Posts: 16
    • View Profile

Хм... А где крутить колормод? В упор не вижу :-( ...


Снимок и возможная цветокоррекция делается непосредственно перед вызовом подпрограммы
Code: (clickermann) [Select]
GETSCREEN
recognize(147,783, 219,809, -1, 100)



Хм... А где крутить колормод? В упор не вижу :-( ...


Спасибо понял, я думал что колор мод уже встроин в программу (скрипт)...

Оперативно отвечаешь, как и твои скрипты минимальны и быстры ).


Работает тоже на ура, но забавный трабл :-) откуда буква на конце??? 17:28:01 01.45.57d    (не дописывал, появляется когда 7 в конце, в друхих случаях её нет)

Спасибо за оперативный отзив и помощь.

(еще вопрос, 1) как менять размер цифр, 2) можно использовать 2 вида картинок, для разных цифр? как это делать?)
« Last Edit: November 13, 2018, 07:29:20 PM by StarControl »

Qwerry

  • Активный участник
  • ***
  • Posts: 117
    • View Profile
Если навскидку, то вероятно что-то не так с координатами, выбранными для анализа (вариант - добавить в конце подпрограммы перед "END_SUB" строчку "SCREENSHOTEX($x1,$y1, $x2,$y2, "Image_", 0)". Увидите, полностью ли в область анализа попало число (иначе, почему пропадает последняя цифра?), а также не попало ли что-то лишнее.

Судя по коду скрипта, букве взяться неоткуда, кроме как из образца "Letters\d.bmp" . Возможно, полное имя файла другое, но начинается определенно на "D". Если важны для анализа только цифры, то можете просто убрать это файл оттуда (первопричиной, вероятно, служит то, что 7 узкая, и анализируется также следующий знак, вместе с ней образующий эту картинку - например "7." читается как "7 Двоеточие").
Вообще, если формат строки известен заранее (где точки, где двоеточия в числе/дате предугадать не  сложно) - можно оставить только 10 образцов (цифры 0-9), а двоеточия и точки расставлять вместо пробелов программно. Такой вариант позволит справляться с изменяющимся фоном (заменяем "-1" в "recognize(147,783, 219,809, -1, 100)" на цвет фона у картинок-образцов).

StarControl

  • Зашел в гости
  • *
  • Posts: 16
    • View Profile

Хм... А где крутить колормод? В упор не вижу :-( ...


Снимок и возможная цветокоррекция делается непосредственно перед вызовом подпрограммы
Code: (clickermann) [Select]
GETSCREEN
recognize(147,783, 219,809, -1, 100)



Хм... А где крутить колормод? В упор не вижу :-( ...


Спасибо понял, я думал что колор мод уже встроин в программу (скрипт)...

Оперативно отвечаешь, как и твои скрипты минимальны и быстры ).


Работает тоже на ура, но забавный трабл :-) откуда буква на конце??? 17:28:01 01.45.57d    (не дописывал, появляется когда 7 в конце, в друхих случаях её нет)

Спасибо за оперативный отзив и помощь.

Спасибо что пытаетесь разобраться в чужом скрипте, первый сделал, даже сообщение отредактировал ( есть в скрипте защита, что бы соседние числа автоматом не зацепил, подрегулировал уменьшил слепую зону  $SHIFT_X = 10            // смещение (кол-во игнор пикселов вокруг найденного)
   $SHIFT_Y = 15)

А насчет буквы буду автора ждать.
« Last Edit: November 13, 2018, 07:06:17 PM by StarControl »

dramster

  • Герой форума
  • *****
  • Posts: 1134
    • View Profile
Полностью тему не читал, но так, ради интереса, можешь попробовать еще один вариант распознавания. На настройку для твоего примера из первого поста у меня ушло пару сек.

Взял скрипт из этого сообщения http://crapware.aidf.org/forum/index.php?topic=88.msg23101#msg23101

Далее видео по настройке и обучению : видео на youtube

StarControl

  • Зашел в гости
  • *
  • Posts: 16
    • View Profile
Помогите с усоловием, не знаю как составить.

$a="1.bmp" // если а равна картинке (*.bmp любой) выполняется, если $a=0 скрипт не выолняется

IF(0,$a=0) // Так не работает, как правильно написать не знаю.

ELSE
  // Скрипт
END_IF

Заранее благодарен.
« Last Edit: December 06, 2018, 03:18:03 AM by StarControl »

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Помогите с усоловием, не знаю как составить.

$a="1.bmp" // если а равна картинке (*.bmp любой) выполняется, если $a=0 скрипт не выолняется

IF(0,$a=0) // Так не работает, как правильно написать не знаю.

ELSE
  // Скрипт
END_IF

Заранее благодарен.

Конечно можно было бы просто написать так
Code: (clickermann) [Select]
$a="1.bmp"

IF($a!0) // если $a не равно 0
   LOGWRITE ("да")
ELSE
   LOGWRITE ("нет")   
END_IF

HALT

Однако при сравнении чисел с текстом выдает не верный результат.
Поэтому мы переводим числа и текст в md5 хеш и сравниваем уже хеши.
Code: (clickermann) [Select]
$a="1.bmp"

IF(STRMD5($a)!STRMD5(0)) // если хеши $a и 0 не равны
   LOGWRITE ("да")
ELSE
   LOGWRITE ("нет")   
END_IF

HALT

Твой скрипт:
Code: (clickermann) [Select]
$a="1.bmp"
IF(STRMD5($a)!STRMD5(0)) // если $a не равно 0
// Скрипт   
END_IF