Сопоставление изображений

В этой главе описывается, как использовать метод сопоставления по шаблону для поиска элементов и выполнения кликов. FIRERPA поддерживает сопоставление по шаблону и сопоставление по характерным точкам (SIFT). Перед началом необходимо ознакомиться с базовой информацией о сопоставлении изображений. Сопоставление изображений делится на сопоставление по шаблону и сопоставление по характерным точкам. Сопоставление по шаблону подходит для устройств с одинаковым разрешением и является более эффективным. Сопоставление по характерным точкам подходит для экранов с разным разрешением, однако некоторые пороговые значения, возможно, потребуется подстраивать в зависимости от размера экрана устройства.

Подсказка

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

Интерфейс сопоставления

Интерфейс сопоставления изображений является несколько сложным, но в большинстве случаев вам нужно настраивать только параметры threshold и distance. Значения остальных параметров вы можете найти в приведённом ниже описании параметров. Основная форма интерфейса выглядит следующим образом: по умолчанию выполняется сопоставление по всему экрану с использованием метода сопоставления по шаблону. Этот интерфейс в основном предназначен для экономии вычислительных ресурсов вашего хоста. Если вам важны производительность или точность распознавания, вы можете использовать интерфейс создания снимков экрана и выполнять сопоставление самостоятельно.

d.find_similar_image(data, threshold=0.0, distance=250, scale=1.0, area=FindImageArea.FIA_WHOLE_SCREEN, method=FindImageMethod.FIM_TEMPLATE)
字段描述
dataБайтовые данные сопоставляемого изображения (вырезанный фрагмент)
thresholdПорог отбрасывания (сходство)
distanceМаксимальное расстояние между характерными точками (только для сопоставления по характерным точкам)
scaleМасштабирование при сопоставлении (повышает производительность, не применяется для сопоставления по шаблону)
areaОбласть сопоставления (ограничение области повышает производительность)
methodМетод сопоставления

Методы сопоставления

Методы сопоставления поддерживают сопоставление по шаблону и сопоставление по характерным точкам. Сопоставление по шаблону подходит для случаев с выраженной текстурой и фиксированной формой цели, но недостаточно устойчиво к повороту, изменению масштаба и изменению освещения. Сопоставление по характерным точкам обнаруживает особые точки изображения, такие как углы и границы, описывает их признаки, а затем сопоставляет их на двух изображениях. Оно более устойчиво к повороту, изменению масштаба и изменению освещения и подходит для сложных задач сопоставления.

匹配方法描述
FindImageMethod.FIM_TEMPLATEСопоставление по шаблону
FindImageMethod.FIM_FEATUREСопоставление по характерным точкам

Область сопоставления

Область сопоставления в основном используется для балансировки производительности мобильного устройства. В большинстве случаев искомый элемент находится в фиксированной области экрана. Указав эту область, можно уменьшить размер изображения и тем самым снизить объём вычислений при сопоставлении.

匹配区域描述
FindImageArea.FIA_WHOLE_SCREENСопоставление по всему экрану
FindImageArea.FIA_LEFTСопоставление по левой половине экрана
FindImageArea.FIA_TOP_LEFTСопоставление по левому верхнему углу экрана
FindImageArea.FIA_TOPСопоставление по верхней половине экрана
FindImageArea.FIA_TOP_RIGHTСопоставление по правому верхнему углу экрана
FindImageArea.FIA_RIGHTСопоставление по правой половине экрана
FindImageArea.FIA_BOTTOM_RIGHTСопоставление по правому нижнему углу экрана
FindImageArea.FIA_BOTTOMСопоставление по нижней половине экрана
FindImageArea.FIA_BOTTOM_LEFTСопоставление по левому нижнему углу экрана