Bonjour,
Contrairement a beaucoup de question sur le forum qui cherche à récupérer les positions d'un objet dans une image ou fenetre, je cherche à faire l'inverse . Je cherche à indiquer une zone de recherche.
Je veux dire à mon programme Actionaz " Va faire ta recherche a cet endroit de la fenêtre et essaye de m'y trouver cet image. Puis va à cet autre endroit et essaye de nouveau". Ainsi de suite. La fenêtre et les images ne bougent pas et ne changent pas de design.
Ma question est donc comment dire à mon bouton action "Trouver une image" d'effectuer sa recherche dans telle ou telle zone ? Existe-t-il un autre bouton action permettant d'indiquer la zone de recherche dans Actionaz ou doit-on passer par du code ?
Merci d'avance pour vos réponses .
[Actionaz] Specifier zone de recherche sur sa fenetre
Re: [Actionaz] Specifier zone de recherche sur sa fenetre
Bonjour,
Je crois que pour faire ce que tu veux, il faut passer par du code. ( en utilisant Rect)
Pour voir les paramètres de Rect:
https://wiki.actiona.tools/doku.php?id= ... :core:rect
Je crois que pour faire ce que tu veux, il faut passer par du code. ( en utilisant Rect)
Code: Select all
var screenShot = Image.takeScreenshot();
var img_rect = screenShot.copy(new Rect(505,415,50,50));
var IMG_a_trouver = new Image("C://temp//tofind.jpg");
Search_IMG_ =img_rect.findSubImage(IMG_a_trouver,
{
confidenceMinimum: 80,
downPyramidCount: 1,
searchExpansion: 15
})
Execution.pause(100)
if (Search_IMG_) // on a donc trouvé l'image
{
// Search_IMG_.position.x
// Search_IMG_.position.y
// Search_IMG_.confidence
}
Pour voir les paramètres de Rect:
https://wiki.actiona.tools/doku.php?id= ... :core:rect
Re: [Actionaz] Specifier zone de recherche sur sa fenetre
Super merci @francois.
Chapitre 1 :
Pourquoi crées-tu une copie de l'image. N'est-il pas possible de spécifier directement dans le première variable la zone de recherche pour la comparer ensuite ? genre (voir ci-dessous)
Chapitre 2 :
Chapitre 3 :
Chapitre 4 :
Chapitre 5
Je ne l'avais pas expliqué précédemment mais le but de ma manœuvre est de comparer l'image enregistrer de l'image sur ma fenêtre. Si la condition est vérifier je vais donc renvoyer vers une variable stockant cette information. Exemple : Si je cherche le chiffre 6 dans une zone donnée est qu'il l'a trouve, je renvoie à ma variable 6 ($chiffreSix) associée. J'exploiterai par la suite cette variable.
Chapitre 1 :
var screenShot = Image.takeScreenshot();
var img_rect = screenShot.copy(new Rect(505,415,50,50));
Pourquoi crées-tu une copie de l'image. N'est-il pas possible de spécifier directement dans le première variable la zone de recherche pour la comparer ensuite ? genre (voir ci-dessous)
Code: Select all
[quote]var screenShot = Image.takeScreenshot(nex Rect(505,415,50,50)
Le bout de code me permettant d'aller chercher l'image que je veux comparervar IMG_a_trouver = new Image("C://temp//tofind.jpg");
Chapitre 3 :
Le bout de code qui me permet de comparer mes deux imagesSearch_IMG_ =img_rect.findSubImage(IMG_a_trouver,
{
confidenceMinimum: 80,
downPyramidCount: 1,
searchExpansion: 15
})
Chapitre 4 :
Là je ne suis pas sûr de comprendre . A Quel moment fais-tu la vérification si vrai ou faux ? C'est grâce à la fonction précédente findSublmage ?if (Search_IMG_) // on a donc trouvé l'image
Chapitre 5
Pourquoi rechercher de nouveau les positions de l'image ?{
// Search_IMG_.position.x
// Search_IMG_.position.y
// Search_IMG_.confidence
}
Je ne l'avais pas expliqué précédemment mais le but de ma manœuvre est de comparer l'image enregistrer de l'image sur ma fenêtre. Si la condition est vérifier je vais donc renvoyer vers une variable stockant cette information. Exemple : Si je cherche le chiffre 6 dans une zone donnée est qu'il l'a trouve, je renvoie à ma variable 6 ($chiffreSix) associée. J'exploiterai par la suite cette variable.
Re: [Actionaz] Specifier zone de recherche sur sa fenetre
Je réponds à tes questions :
J'utilise :
parce que .... j'ai trouvé un exemple qui fonctionnait.
C'est du javascript, comprendre : Si Search_IMG_ est rempli alors on rentre dans { } (<= C'est là qu'il faudra valoriser ta variable)
et Search_IMG_ a été utilisé dans l'instruction précédente :
Donc Search_IMG_ est rempli si et seulement si l'image est trouvée.
J'utilise :
Code: Select all
var screenShot = Image.takeScreenshot();
var img_rect = screenShot.copy(new Rect(505,415,50,50));
Code: Select all
if (Search_IMG_)
{
// Search_IMG_.position.x
// Search_IMG_.position.y
// Search_IMG_.confidence
}
et Search_IMG_ a été utilisé dans l'instruction précédente :
Code: Select all
Search_IMG_ =img_rect.findSubImage(IMG_a_trouver,
{
confidenceMinimum: 80,
downPyramidCount: 1,
searchExpansion: 15
})