Opérations de correspondance d'images

Ce chapitre vous explique comment utiliser la méthode de correspondance de modèles (template matching) pour trouver et cliquer sur des éléments. FIRERPA prend en charge la correspondance de modèles ainsi que la correspondance de points caractéristiques (SIFT). Avant de commencer, vous devez comprendre les informations de base sur la correspondance d'images. La correspondance d'images se divise en correspondance de modèles et correspondance de points caractéristiques. La correspondance de modèles est adaptée aux appareils ayant la même résolution et est plus efficace. La correspondance de points caractéristiques convient aux écrans de résolutions différentes, mais certains seuils peuvent nécessiter un ajustement fin en fonction de la taille de l'écran des différents appareils.

Astuce

Tous les processus de correspondance sont effectués sur le serveur FIRERPA et n'utilisent pas les ressources de la machine locale. Cependant, en raison des limitations de performance des appareils mobiles, l'efficacité est plus faible. Pour les cas exigeant de hautes performances, vous pouvez effectuer des captures d'écran et des correspondances localement sur votre machine.

Interface de correspondance

L'interface de correspondance d'images est une interface légèrement complexe, mais dans la plupart des cas, vous n'aurez besoin d'ajuster que les paramètres threshold et distance. Vous pouvez également trouver la signification de chaque paramètre dans les explications ci-dessous. La forme principale de l'interface est la suivante. Par défaut, elle effectue une correspondance en plein écran en utilisant la méthode de correspondance de modèles. Cette interface vise principalement à économiser les ressources de calcul de votre machine hôte. Si vous avez des exigences de performance ou de reconnaissance, vous pouvez également utiliser l'interface de capture d'écran pour effectuer la correspondance vous-même.

d.find_similar_image(data, threshold=0.0, distance=250, scale=1.0, area=FindImageArea.FIA_WHOLE_SCREEN, method=FindImageMethod.FIM_TEMPLATE)
ChampDescription
dataDonnées en octets de l'image à faire correspondre (image découpée)
thresholdSeuil de rejet (similarité)
distanceDistance maximale entre les points caractéristiques (uniquement pour la correspondance de caractéristiques)
scaleCorrespondance avec mise à l'échelle (améliore les performances, ne s'applique pas à la correspondance de modèles)
areaZone de correspondance (limiter la zone améliore les performances)
methodMéthode de correspondance

Méthode de correspondance

Les méthodes de correspondance prises en charge sont la correspondance de modèles et la correspondance de points caractéristiques. La correspondance de modèles est adaptée aux situations où la texture est claire et la forme de la cible est fixe, mais elle est moins robuste aux rotations, aux changements d'échelle et aux variations de luminosité. La correspondance de points caractéristiques fonctionne en détectant les points caractéristiques de l'image, tels que les coins et les bords, en décrivant ces caractéristiques, puis en les faisant correspondre entre deux images. Elle est très robuste aux rotations, aux changements d'échelle, aux variations de luminosité, etc., ce qui la rend adaptée aux tâches de correspondance dans des scènes complexes.

Méthode de correspondanceDescription
FindImageMethod.FIM_TEMPLATECorrespondance de modèles (Template matching)
FindImageMethod.FIM_FEATURECorrespondance de points caractéristiques (Feature matching)

Zone de correspondance

La zone de correspondance est principalement utilisée pour équilibrer les performances sur les appareils mobiles. Dans la plupart des cas, l'élément à faire correspondre se trouve dans une zone fixe de l'écran. Vous pouvez spécifier cette zone pour réduire la taille de l'image et ainsi diminuer la charge de calcul lors de la correspondance.

Zone de correspondanceDescription
FindImageArea.FIA_WHOLE_SCREENCorrespondance en plein écran
FindImageArea.FIA_LEFTCorrespondance sur la moitié gauche de l'écran
FindImageArea.FIA_TOP_LEFTCorrespondance dans le coin supérieur gauche de l'écran
FindImageArea.FIA_TOPCorrespondance sur la moitié supérieure de l'écran
FindImageArea.FIA_TOP_RIGHTCorrespondance dans le coin supérieur droit de l'écran
FindImageArea.FIA_RIGHTCorrespondance sur la moitié droite de l'écran
FindImageArea.FIA_BOTTOM_RIGHTCorrespondance dans le coin inférieur droit de l'écran
FindImageArea.FIA_BOTTOMCorrespondance sur la moitié inférieure de l'écran
FindImageArea.FIA_BOTTOM_LEFTCorrespondance dans le coin inférieur gauche de l'écran