Changer la sensibilité Sikuli?
Question
Je me sers Sikuli pendant un certain temps, mais j'ai un problème avec elle ... Ce n'est pas assez sensible. Je suis en train de faire correspondre quelque chose sur l'écran qui est -EXACT-, et il y a quelques autres éléments sur l'écran qui ressemblent assez similaire Sikuli est les confondant avec ce que je suis à la recherche pour, donc je dois faire chercher seulement cet article avec aucun écart du tout.
Comment puis-je faire?
Oh, et pour expliquer mon problème un peu plus loin, je suis en train d'écrire une boucle pour un jeu, une fois une barre de progression a atteint 100% - il doit permettre à la boucle pour terminer (et recommencer à nouveau), mais la barre de progression est juste un bar ordinaire -. alors, quand Sikuli le cherche à l'écran, il trouve la barre partiellement complète (puisque apparemment il correspond à différentes longueurs / largeurs / tailles de l'image qu'il cherche) et déclencheurs
La solution
Vous pouvez faire ce qui suit dans l'Sikuli IDE:
- Cliquez sur l'image
- Dans Paramètres Pattern> Aperçu assortis, faites glisser la barre de similarité à 1,0 (tout le chemin à droite)
- Cliquez sur OK
Autres conseils
Si vous utilisez l'image miniature Sikuli IDE cliquez, pour lequel vous voulez changer la sensibilité. Il vous sera présenté capture d'écran de votre bureau avec et les occurrences de motif (image). Ci-dessous, il y a une sorcière curseur sensibilité change. Tout en changeant, vous remarquerez que les événements mis en évidence de l'augmentation de motif ou diminuer en conséquence.
Cette méthode suppose que vous avez votre jeu à l'écran (donc en mode fenêtré, pas en plein écran), mais même si vous ne vous ne pouvez toujours pas régler la sensibilité, juste vous ne verrez pas les résultats « live » de la recherche.
Si vous appelez Sikuli à partir du code Java, vous devez utiliser Pattern(image.png).similar(y.xx)
où l'argument de simmilar est quelque chose entre 0,00 et 1,00.
Je ne l'ai pas utilisé deuxième méthode de sorte que vous devrez peut-être expérimenter avec.
Est-ce que les travaux suivants
Vous recherchez des progrès pour atteindre 100%, puis la boucle à nouveau?
f = open("C:\\test.htm",'W')
f.write('<font color="#347C2C">lOOPtEST</font><br />')
f.write('loop iteration' + (str (count)) + '<br />')
count = count + 1
f.close()
COUNT =10
POPUP("LOOPTEST")
//image compare from progress bar
import sikuli.Sikuli *
WebPath =('Z:\\ZZZautomation\\Web\\')
BuildPath = ("Z:\BUILDS\Daily_BUILDS\QA_MainBranch_Install\*.install")
BuildNumber = glob.glob("Z:\BUILDS\Daily_BUILDS\QA_MainBranch_Install\*.install")
for filename in BuildNumber:
SmokeTestInfo = "SmokeTest_Build " + filename[45:50] + " Iteration 44"+".htm"
global Number
Number = filename[45:50]
global SmokeTest
SmokeTest = SmokeTestInfo
global count
count = 0
defMidProgress():
while not exists ("//path to image of progress bar @ 50%//",FOREVER)
//or
wait("//path to image of progress bar @ 50%//", FOREVER)
//using forevEr means sikuli will checK FOR 50% PROGRESS FOREVER
//the bottom execures once the condition above is met
open(WebPath + SmokeTest,'w')
f.write('<font color="#0000FF">Progress is at 50%</font><br />')
f.close()
// writes entry to html log fie
defFinalProgress():
while not exists ("//path to image of progress bar @ 100%//",FOREVER)
//or
wait("//path to image of progress bar @ 100%//", FOREVER)
//using forever means sikuli will check FOR 100% PROGRESS FOREVER
//the bottom execures once the condition above is met
open(WebPath + SmokeTest,'a')
f.write('<font color="#0000FF">Progress is at 100%</font><br />')
f.close()
// writes entry to html log fie
def Loop
count =0
def midProgress():
def FinalProgress():
Pour correspondre à une image exacte que j'utilise:
image1 = ("image1.png")
while not exists (Pattern(image1).exact()):
# Wait until that exact image appears.
wait(1)