Pertanyaan Ubah sensitivitas Sikuli?


Saya telah menggunakan sikuli untuk sementara, namun saya memiliki masalah dengan itu ... Ini tidak cukup sensitif. Saya mencoba mencocokkan sesuatu di layar yaitu -EXACT-, dan ada beberapa item lain di layar yang terlihat cukup mirip sehingga sikuli salah mengenali mereka untuk apa yang sebenarnya saya cari, jadi saya harus membuatnya cari HANYA item ini tanpa variasi sama sekali.

Bagaimana saya bisa melakukan ini?

Oh dan untuk menjelaskan masalah saya sedikit lebih jauh, saya menulis sebuah loop untuk sebuah game, setelah progress bar mencapai 100% - itu perlu memungkinkan loop selesai (Dan mulai lagi), namun progress bar hanya plain bar - jadi ketika sikuli mencarinya di layar, ia menemukan bar yang sebagian lengkap (Karena tampaknya cocok dengan panjang / lebar / ukuran gambar yang dicari), dan pemicu.


5
2018-03-09 07:10


asal


Jawaban:


Anda dapat melakukan hal-hal berikut dalam Sikuli IDE:

  • Klik pada gambar
  • Di Setelan Pola> Pencocokan Pratinjau, seret bar Kesamaan ke 1,0 (semua jalan ke kanan)
  • Klik OK

6
2017-10-07 19:35



Jika Anda menggunakan miniatur gambar klik Sikuli IDE, yang ingin Anda ubah kepekaan. Anda akan disajikan screenshot dari desktop Anda dengan dan kemunculan pola (gambar Anda). Di bawah ini ada perubahan penyihir slider sensitivitas. Saat menggantinya Anda akan melihat bahwa kejadian yang disorot dari pola tersebut akan bertambah atau berkurang.
Metode ini mengasumsikan bahwa Anda memiliki permainan Anda di layar (jadi modus berjendela, bukan layar penuh), tetapi bahkan jika Anda tidak Anda masih dapat menyesuaikan sensitivitas, hanya Anda tidak akan melihat hasil pencarian 'langsung'.

Jika Anda memanggil sikuli dari kode Java, Anda harus menggunakannya Pattern(image.png).similar(y.xx)
di mana argumen simmilar adalah sesuatu antara 0,00 dan 1,00.
Saya belum menggunakan metode kedua sehingga Anda mungkin perlu bereksperimen dengannya.


3
2017-10-07 17:19



Apakah pekerjaan berikut ini?
Anda mencari kemajuan untuk mencapai 100% kemudian loop lagi?

  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():

0
2018-04-04 08:19



Untuk mencocokkan gambar yang sama dengan yang saya gunakan:

image1 = ("image1.png")
while not exists (Pattern(image1).exact()): 
       # Wait until that exact image appears. 
       wait(1) 

0
2017-08-14 19:00