Author Topic: ПАиксели с погрещностью  (Read 2788 times)

0 Members and 1 Guest are viewing this topic.

cfgtestaa

  • Зашел в гости
  • *
  • Posts: 6
    • View Profile
ПАиксели с погрещностью
« on: July 28, 2016, 05:55:29 AM »
Всем привет. Не подскажете как сделать поиск пикселей в определённой области по координатам с погрешностью. Допустим нужно находить цвета все красного (Тёмно красный, светло красный, можно даже бордовы). Ну или чисто по пикселям с погрещностью. Первый раз пользуюсь этой штукой, потому что единственная как-то опеределяет цвет в окне. За другие либо блочат, либо ничего не происходит в окне т.к. оно скрыто. Грубо говоря нужно чтобы в координатах находило все красные цвета и если хоть один из них найден то нажать на мышку. Помогите очень надо . Ну потом опять по кругу, если опять найден то ещё раз нажать, в цикле. вайл.

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: ПАиксели с погрещностью
« Reply #1 on: July 28, 2016, 07:00:39 AM »
Используй цветокоррекцию
Code: (clickermann) [Select]
GETSCREEN // снимок в буфер кликера
COLORMODE(6) // цветокоррекция снимка уровень 6
IF_PIXEL_IN(0,0, $_xmax,$_ymax, 255)
   LCLICK($_return1, $_return2)
   WAITMS(100)
END_IF

Чтобы получить скорректированный код цвета включи лупу. Под окошком лупы переключи цветокоррекцию лупы (% 0) до подходящего уровня (хорошие варианты 5-7). Чем выше уровень тем меньше цветов на экране.

cfgtestaa

  • Зашел в гости
  • *
  • Posts: 6
    • View Profile
Re: ПАиксели с погрещностью
« Reply #2 on: July 28, 2016, 02:14:02 PM »
    GETSCREEN // снимок в буфер кликера
    COLORMODE(6) // цветокоррекция снимка уровень 6
    IF_PIXEL_IN(0,0, $_xmax,$_ymax, 255)
       LCLICK($_return1, $_return2)
       WAITMS(100)
    END_IF

IF_PIXEL_IN(0,0, $_xmax,$_ymax, 255) - 0,0 0 это координаты? $_xmax, $_ymax 0 это я так понимаю тоже? типо область? А скорРектировать % цвета это и будет что-то типо погрещности? Чтобы воспринимал все оттенки красного цвета, да?

cfgtestaa

  • Зашел в гости
  • *
  • Posts: 6
    • View Profile
Re: ПАиксели с погрещностью
« Reply #3 on: July 28, 2016, 02:33:12 PM »
Проверил, чуть чуть работает. Но ФПС жутко просидает и реагирует слишком долго. Можно это как-то ускорить?

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: ПАиксели с погрещностью
« Reply #4 on: July 28, 2016, 03:01:19 PM »
Открой справку и прочти про функцию IF_PIXEL_IN.

Нужно сократить зону снимка, цветокоррекци и поиска до предполагаемого места появления объекта.
Чтобы не нагружало проц нужно добавить задержку.

Code: (clickermann) [Select]
GETSCREEN(300,300, 600,600)
COLORMODE(6,300,300, 600,600)
IF_PIXEL_IN(300,300, 600,600, 255)
   LCLICK($_return1, $_return2)
   WAITMS(100)
ELSE
   WAITMS(50) // если не найдено
END_IF

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: ПАиксели с погрещностью
« Reply #5 on: July 28, 2016, 03:02:18 PM »
Можно. Ты покажи весь свой скрипт.
Или ты взял и вставил выложенный кусок голым как есть?


cfgtestaa

  • Зашел в гости
  • *
  • Posts: 6
    • View Profile
Re: ПАиксели с погрещностью
« Reply #6 on: July 28, 2016, 04:25:49 PM »
Можно. Ты покажи весь свой скрипт.
Или ты взял и вставил выложенный кусок голым как есть?
Вставил голым(

cfgtestaa

  • Зашел в гости
  • *
  • Posts: 6
    • View Profile
Re: ПАиксели с погрещностью
« Reply #7 on: July 28, 2016, 04:29:47 PM »
Открой справку и прочти про функцию IF_PIXEL_IN.

Нужно сократить зону снимка, цветокоррекци и поиска до предполагаемого места появления объекта.
Чтобы не нагружало проц нужно добавить задержку.

Code: (clickermann) [Select]
GETSCREEN(300,300, 600,600)
COLORMODE(6,300,300, 600,600)
IF_PIXEL_IN(300,300, 600,600, 255)
   LCLICK($_return1, $_return2)
   WAITMS(100)
ELSE
   WAITMS(50) // если не найдено
END_IF
Так лучше, лагов нет. Но работает через раз. Видимо цвет. Там дело в том, что цвет красный,но он может меняться светло-красный, тёмно-красный и т.д. Возможно как-нибудь сделать чтобы срабатывал на все оттенки красного? Я вррде делал % но не сделалось )

cfgtestaa

  • Зашел в гости
  • *
  • Posts: 6
    • View Profile
Re: ПАиксели с погрещностью
« Reply #8 on: July 28, 2016, 04:49:06 PM »
Так разобрался. Всё пока что почти норм. Но можно ли больше цветов добавить? Так возможно сделать? IF_PIXEL_IN(300,300, 300,300, 255) OR (IF_PIXEL_IN(300,300, 300,300, 255)) или не пойдёт?

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: ПАиксели с погрещностью
« Reply #9 on: July 28, 2016, 05:04:50 PM »
Так нет.

Можно добавить через запятую
IF_PIXEL_IN(300,300, 600,600, 255, 5000, 65280)
будет искать проверяя все по очереди.



Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: ПАиксели с погрещностью
« Reply #10 on: July 28, 2016, 05:14:55 PM »
Вот все цвета в COLORMODE(6)
Какие из них "красные" сам выбирай.
Code: [Select]
4144959
4145023
4145087
4145151
4161343
4161407
4161471
4161535
4177727
4177791
4177855
4177919
4194111
4194175
4194239
4194303
8339263
8339327
8339391
8339455
8355647
8355711
8355775
8355839
8372031
8372095
8372159
8372223
8388415
8388479
8388543
8388607
12533567
12533631
12533695
12533759
12549951
12550015
12550079
12550143
12566335
12566399
12566463
12566527
12582719
12582783
12582847
12582911
16727871
16727935
16727999
16728063
16744255
16744319
16744383
16744447
16760639
16760703
16760767
16760831
16777023
16777087
16777151
16777215