【Auto.js images.matchTemplate() 函數的特點】


Auto.js  images.matchTemplate() 函數的特點

官方文檔:https://hyb1996.github.io/AutoJs-Docs/#/images?id=imagesmatchtemplateimg-template-options

 

images.matchTemplate(img, template, options)

[v4.1.0新增]

  • img {Image} 大圖片
  • template {Image} 小圖片(模板)
  • options {Object} 找圖選項:
    • threshold {number} 圖片相似度。取值范圍為0~1的浮點數。默認值為0.9。
    • region {Array} 找圖區域。參見findColor函數關於region的說明。
    • max {number} 找圖結果最大數量,默認為5
    • level {number} 一般而言不必修改此參數。不加此參數時該參數會根據圖片大小自動調整。找圖算法是采用圖像金字塔進行的, level參數表示金字塔的層次, level越大可能帶來越高的找圖效率,但也可能造成找圖失敗(圖片因過度縮小而無法分辨)或返回錯誤位置。因此,除非您清楚該參數的意義並需要進行性能調優,否則不需要用到該參數。
  • 返回 {MatchingResult}

在大圖片中搜索小圖片,並返回搜索結果MatchingResult。該函數可以用於找圖時找出多個位置,可以通過max參數控制最大的結果數量。也可以對匹配結果進行排序、求最值等操作。

 

 找圖失敗的原因很可能是:從本地讀取的圖片文件路徑不對,圖片對象為undefined 或 null。

images.matchTemplate() 如果找圖失敗,會直接拋出空指針異常:

 

01:08:28.081/E: Wrapped java.lang.NullPointerException: template = null (file:///android_asset/modules/__images__.js#430)
Wrapped java.lang.NullPointerException: template = null
at file:///android_asset/modules/__images__.js:430:0
at /storage/emulated/0/腳本/有用的腳本/收取能量測試.js:6:0

 

結果是腳本直接在此處拋異常,並停止。

 

 

結論:

images.matchTemplate() 如果找圖失敗,並在images.matchTemplate()方法出停止運行腳本,找圖失敗多是因為圖片對象為undefined 或 null。

如果找圖成功,返回 {MatchingResult},{MatchingResult}可以是空集。當返回空集時,代表找不到圖片,找圖的算法是正常運行結束的,不是拋出異常結束腳本。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM