Операции сопоставления изображений

В этой главе описывается, как использовать метод сопоставления по шаблону для поиска и нажатия на элементы. 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Сопоставление в левом нижнем углу экрана