Page 1 of 1

Vérifier et comparer la position d'une image

Posted: 05 Aug 2015, 20:06
by Sergent-Quentin
Bonjour,

J'ai une action "Trouver image" qui, une fois l'image trouvé stock sa position dans une variable.

Le problème c'est qu'entre temps l'image bouge et il clique à coté, j'ai donc voulu faire une fonction "Anti-décalage", elle recherche cette même image et compare les 2 positions pour agir en fonction :

Code: Select all

var screenShot = Image.takeScreenshot();
var imageToFind = new Image("Chemin/Dossier/Test.jpg");

var PosB = screenShot.findSubImage(imageToFind);

if (PosA==PosB.position) {
Console.print("Ok");
}
else {
Console.print("Pas ok");
Console.print(PosA);
Console.print(PosB.position);
}
Malgré que les valeurs sont les mêmes en les faisant afficher avec Console.print, la condition elle, dit le contraire.

Pourriez-vous m'aider svp ? :)

Je vous remercie

Cordialement

Sergent-Quentin

Re: Vérifier et comparer la position d'une image

Posted: 06 Aug 2015, 08:23
by francois
Bonjour,

J'avais eu un souci du même genre.
Ceci répond à tes besoins :

Code: Select all

if (searchResult_1.position.x==searchResult_2.position.x && searchResult_1.position.y==searchResult_2.position.y  )
{
Console.print("meme position" );
}
else
{
Console.print(" position différente" );
}
Ce que j'en avais déduit empiriquement :
Les comparaisons dans les 'if' fonctionnent avec des valeurs.
SearchResult_1 n'est pas une valeur
SearchResult_1.position n'est pas une valeur
SearchResult_1.position.x est une valeur

Juste une remarque (qui n'aurait rien changé sur le fond) , ton exemple n'est pas homogène :

Code: Select all

if (PosA==PosB.position) 
Le nom qui figure dans le wiki d'actiona https://wiki.actiona.tools/doku.php?id= ... ndsubimage
est pas mal : 'SearchResult'.
La position c'est plutôt SearchResult.position.
Et avec SearchResult.confidence, on a la confiance ( qui peut servir pour éliminer les 'fausses' ressemblances)

Francois

Re: Vérifier et comparer la position d'une image

Posted: 08 Aug 2015, 13:46
by Violette
Normal on ne peux pas comparer des objets de cette manière, uniquement des valeurs.

Or la position est un objet Point.