Desktop Automation (DA)識別操作,如何提高辨識成功率?

目前我使用的DA環境有兩種辨識邏輯

  1. 必要選項
    await api.moveToCrop(“crop-9c6ebc14a9faf3010dd751dd40e65c1f3608ea736265b33e61b02d298c76daa2.png”, 55, 70, {confidence:0.99}); //點選發佈工作簿
    await api.sleep(3000); //預留操作空檔 3s
    await api.mouse.clickLeft();

  2. 變動選項
    let found11 =await api.screen.waitFor(“crop-d15ded58b319245c2ea3feb1379921250a22ffaa53a2c1e09c950d4136ed3cf7.png”, 2000, {confidence:0.99});//外部覆蓋 點選是(Y)
    if(found11){ // 代表有找到
    console.log(found11);
    await api.mouse.move(found11.left+60, found11.top+40);
    await api.moveToCrop (“crop-d15ded58b319245c2ea3feb1379921250a22ffaa53a2c1e09c950d4136ed3cf7.png”, 60, 40, {confidence:0.99}); //外部覆蓋 點選是(Y)
    await api.sleep(3000); //預留操作空檔 3s
    await api.mouse.clickLeft();
    } else { //跑到這邊,代表沒有等到任何結果
    console.log(“not found”);
    }

但是,偶爾會出現辨識失效的情況發生。

請教該如何調整提高辨識作動的成功率?

@poky.tsai 您好,

會建議調整 confidence 的參數
建議先使用 api.screen.find() 打印出該圖片如果有找到/沒找到的話,他的 confidence 各會是多少

let result = await api.screen.find('your crop');
console.log(result);

再決定該confidence 的參數應該設定為多少較佳

舉例 :

  1. 將畫面調整為 可以找到該 crop 的樣子,並利用 api.screen.find() 來打印找到的話 confidence 的數值,例如 : confidence = 0.985
  2. 將畫面調整為 找不到該 crop 的樣子,並利用 api.screen.find() 來打印找不到的話 confidence 的數值,例如 : confidence = 0.975

=> 根據以上測試結果,可以把 confidence 調整為 0.98

1 Like