trouver image

Vous voulez de l'aide ? Postez ici :)
Post Reply
mikke
Posts: 2
Joined: 11 Aug 2014, 20:04

trouver image

Post by mikke »

Bonsoir

Je cherche a utiliser la fonction trouver plusieurs image avec le code suivant recupere sur le wiki
En fait cela fonctionne en partie si je fait planter le script avec la derniere ligne ou je vois dans le debugger les coordonnees. Si j'enleve la derniere ligne je ne vois rien sur la console.
Est ce que la console est videe apres la fin de l'execution du callback ?

//Searches for objects on the screen
//Searches for an object on the screen
var screenShot = new Image();
screenShot.loadFromFile("ecran.png");
//
var imageToFind = new Image();
imageToFind.loadFromFile("motif.png");
screenShot.findSubImagesAsync(imageToFind, function(searchResult)
{
if(searchResult)
{ Console.print("Matching images found ");
for(var i = 0; i < searchResult.length; ++i)
{ Console.print("position: " + searchResult.position.x + ", confidence: " + searchResult.confidence + " ");
}
}
else
Console.print("No matching images found.");
},98);

Console.print("position: " + searchResult[0].position.x + ", confidence: " + searchResult[0].confidence + " ");

Salutations
francois
Posts: 456
Joined: 18 Oct 2010, 10:33
Location: France

Re: trouver image

Post by francois »

Bonjour,

tu utilises "findSubImagesAsync",
tu demandes donc une exécution asynchrone.
Aussi le script prend en compte l'instruction qui suit "findSubImagesAsync" avant que "findSubImagesAsync" ne soit terminé.
D'où ton souci.

Pour ce que tu veux faire, il faut utiliser "findSubImages" .

exemple :
IMG_= Image.takeScreenshot();
Search_IMG_ =IMG_.findSubImages(IMG_a_trouver,
{
confidenceMinimum: 80,
downPyramidCount: 1,
searchExpansion: 15,
maximumMatches: 10
})
if (Search_IMG_) // on a donc trouvé img
{
// Search_IMG_.length

//for(J=1;J< Search_IMG_.length;J++)
//{
// Search_IMG_[J].position
//}
} // fin if


En dehors de ta question, pour les Screenshot, tu n'es pas obligé de créer un fichier "img".
L'instruction :
IMG_= Image.takeScreenshot()
suffit .

Cordialement

Francois
mikke
Posts: 2
Joined: 11 Aug 2014, 20:04

Re: trouver image

Post by mikke »

Bonjour
Merci beaucoup
Avec le code suivant je recupere les coordonnees de chaque position :

IMG_= screenShot;
Search_IMG_ =IMG_.findSubImages(imageToFind,
{
confidenceMinimum: 80,
downPyramidCount: 1,
searchExpansion: 15,
maximumMatches: 10
})
if (Search_IMG_) // on a donc trouvé img
{
// Search_IMG_.length

for(J=1;J< Search_IMG_.length;J++)
{
Console.print(" la coordonnee x est : "+Search_IMG_[J].position.x);
Console.print(" la coordonnee y est : "+Search_IMG_[J].position.y+"\n");
}
}

Une question a reponse facultative ,quel est l'utilite de l'action asynchrone si c'est une image fixe ?

Salutations.
User avatar
Jmgr
Admin
Posts: 1650
Joined: 07 Dec 2005, 15:45
Contact:

Re: trouver image

Post by Jmgr »

Une question a reponse facultative ,quel est l'utilite de l'action asynchrone si c'est une image fixe ?
La recherche dans une image peut être longue, et tu peux vouloir faire d'autres choses pendant ce temps là.
"My software never has bugs. It just develops random features."
Post Reply