5

しばらくsikuliを使用していますが、問題があります...感度が十分ではありません。画面上の-EXACT-と一致させようとしていますが、画面上に似ているアイテムが他にもいくつかあるため、sikuliが実際に探しているものと間違えているので、作成する必要があります。差異のないこのアイテムのみを探してください。

これどうやってするの?

ああ、私の問題をもう少し説明するために、プログレスバーが100%に達したら、ゲームのループを書いています-ループを終了する(そして最初からやり直す)必要がありますが、プログレスバーはプレーンバー-したがって、sikuliが画面上でそれを探すと、部分的に完全なバーが見つかり(明らかに、探している画像のさまざまな長さ/幅/サイズに一致するため)、トリガーされます。

4

4 に答える 4

7

SikuliIDEでは次のことができます。

  • 画像をクリックしてください
  • [パターン設定]>[一致プレビュー]で、類似性バーを1.0(右端まで)にドラッグします。
  • [OK]をクリックします
于 2010-10-07T19:35:06.370 に答える
3

Sikuli IDEを使用している場合は、感度を変更する画像ミニチュアをクリックします。デスクトップのスクリーンショットとパターン(画像)の出現が表示されます。下にスライダーの魔女が感度を変更します。それを変更している間、パターンの強調表示された出現がそれに応じて増加または減少することに気付くでしょう。
この方法は、ゲームが画面に表示されていることを前提としています(つまり、フルスクリーンではなくウィンドウモードです)が、感度を調整できなくても、検索の「ライブ」結果は表示されません。

Javaコードからsikuliを呼び出す場合はPattern(image.png).similar(y.xx)
、simmilarの引数が0.00から1.00の間の場所を使用する必要があります。
私は2番目の方法を使用していないので、実験する必要があるかもしれません。

于 2010-10-07T17:19:07.607 に答える
0

次は動作しますか?
100%に到達してから、もう一度ループする進行状況を探していますか?

  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():
于 2011-04-04T08:19:45.683 に答える
0

私が使用する画像と正確に一致させるには:

image1 = ("image1.png")
while not exists (Pattern(image1).exact()): 
       # Wait until that exact image appears. 
       wait(1) 
于 2015-08-14T19:00:04.457 に答える