Основной раздел > Общие вопросы

поворот картинки на 90 градусов или зеркальное отображение

(1/3) > >>

shatun:
Есть простая капча в которой  меняются картинки (их 5 шт). Раньше нужно было посчитать каких картинок меньше на ту и кликнуть.
Делал очень примитивно, но работало...

--- Code: (clickermann) --- WAIT(5)
   // поиск изображения Img.bmp в области 700,400 - 1200,700
   GETSCREEN
   COLORMODE(6)
   scanpicture($var, 700,400, 1200,700, "Img.bmp")
   WAIT(1)
   
   // вывод массива, содержащего результаты поиска
   while (arrsize($var) > 0)
      $y = arrpop($var)
      $x = arrpop($var)
   end_cyc
   
   LOGWRITE ("найдены координаты ",$x,":", $y)
   
   GETSCREEN // Clickermann помещает в свой графический буфер скриншот экрана
   COLORMODE(6) // Применяет к этому скриншоту режим COLORMODE
   SCREENSHOTFIX($x,$y+50, $x+40, $y+90, "1.bmp")  // Сохроняет скриншот 1 картинки
   GETSCREEN
   COLORMODE(6)
   IF_PICTURE_IN ($x+50,$y+50,$x+240,$y+100, "1.bmp", -1, 93) //поиск картинки
      WAITMS(500)
      GETSCREEN // Clickermann помещает в свой графический буфер скриншот экрана
      COLORMODE(6) // Применяет к этому скриншоту режим COLORMODE
      SCREENSHOTFIX($x+45,$y+45, $x+90, $y+90, "2.bmp")
      WAITMS(500)
      GETSCREEN
      COLORMODE(6)
      IF_PICTURE_IN ($x+90,$y+45, $x+240,$y+100, "2.bmp", -1, 93) //поиск картинки
         WAITMS(500)
         GETSCREEN // Clickermann помещает в свой графический буфер скриншот экрана
         COLORMODE(6) // Применяет к этому скриншоту режим COLORMODE
         SCREENSHOTFIX($x+95,$y+45, $x+140,$y+90, "3.bmp")
         WAITMS(500)
         GETSCREEN
         COLORMODE(6)
         IF_PICTURE_IN ($x+140,$y+40,$x+240,$y+100, "3.bmp", -1, 93) //поиск картинки
            WAITMS(500)
            GETSCREEN // Clickermann помещает в свой графический буфер скриншот экрана
            COLORMODE(6) // Применяет к этому скриншоту режим COLORMODE
            SCREENSHOTFIX($x+140,$y+40,$x+190,$y+90, "4.bmp")
            WAITMS(500)
            GETSCREEN
            COLORMODE(6)
            WAITMS(500)
            IF_PICTURE_IN ($x,$y+40, $x+140,$y+90, "4.bmp", -1, 93) //поиск картинки
               GETSCREEN // Clickermann помещает в свой графический буфер скриншот экрана
               COLORMODE(6) // Применяет к этому скриншоту режим COLORMODE
               SCREENSHOTFIX($x+190,$y+40,$x+240,$y+90, "5.bmp")
               WAITMS(500)
               GETSCREEN
               COLORMODE(6)
               IF_PICTURE_IN ($x,$y+40, $x+140,$y+90, "5.bmp", -1, 93) //поиск картинки
                  WAITMS(500)
                  LCLICK($x+110,$y+60)
                  LOGWRITE ("найдено 5")
               END_IF
            ELSE // "ИНАЧЕ"
               LCLICK($x+160,$y+60)
               LOGWRITE ("найдено 4")
            END_IF
         ELSE // "ИНАЧЕ"
            LCLICK($x+115,$y+65)
            LOGWRITE ("найдено 3")
         END_IF
      ELSE // "ИНАЧЕ"
         LCLICK($x+65,$y+65)
         LOGWRITE ("найдено 2")
      END_IF
   ELSE // "ИНАЧЕ"
      LCLICK($x+20,$y+70)
      LOGWRITE ("найдено 1")
   END_IF
--- End code ---
Сейчас усложнили задачу:
1.  теперь некоторые картинки повёрнуты на 90, 180, 270 градусов и вот никак не найду какой командой мне их перевернуть.
2. иногда картинки зеркально отображены и тоже могут быть повёрнуты на 90, 180, 270 градусов, тоже не найду какой командой сделать зеркальное отображение картинки перед поиском.

Vint:
Нет таких команд.
И не факт что повёрнутая картинка где-то там будет полностью совпадать с повёрнутой правильно. Если это web может влиять размер контейнера. Если картинки подготовлены в jpeg - сжатие.

Покажи, что за картинки хоть. Может есть другой способ чтоб не искать 5 * 4 * 3 = 60 вариантов. Цвета там посчитать основные.

kiril:
повернуть картинки кликером на 90, 180, 270 градусов и или зазеркалить конечно можно, но имеет-ли смысл из за указанных выше причин? нужно предварительно проверять.

shatun:

--- Quote from: kiril on April 05, 2023, 10:14:37 PM ---Покажи, что за картинки хоть. Может есть другой способ чтоб не искать 5 * 4 * 3 = 60 вариантов. Цвета там посчитать основные.

--- End quote ---
в данном случае только чёрные и белые цвета, но идея очень интересная.

пишут - Папка upload заполнена. Попробуйте файл меньшего размера или свяжитесь с администратором.
Файл 11КБ, закинул на postimges

странно, капча вроде простейшая, но на некоторых ресурсах её сейчас устанавливают взамен рекапчи...

Vint:

--- Quote from: shatun on April 06, 2023, 11:15:34 AM ---Файл 11КБ, закинул на postimges


--- End quote ---
А эта же повёрнутая есть? Только не сам поворачивай.

Просто интересно,  это она так нарисована или отмасштабирована. Похоже, что нарисована, всего 4 цвета. Можно считать все, а можно только самый тёмный.
Непонятно только почему размеры разные и зачем ты при поиске использовал % совпадения 93

Navigation

[0] Message Index

[#] Next page

Go to full version