- AI自動化測試:技術原理、平臺搭建與工程實踐
- 騰訊TuringLab團隊
- 638字
- 2020-08-13 13:47:02
2.2.1 模板匹配算法
圖像的表示單元是像素。像素的描述形式有很多,常用的是RGB三通道描述方式。根據像素的各個通道的灰度值,可以對游戲圖像進行一系列處理。圖2-3是基于模板匹配算法的圖像識別。模板匹配的思想是在一幅圖像中尋找與模板圖像最匹配的部分。

圖2-3 模板匹配的過程
Step1:從原圖像的左上角開始,從左向右、從上到下,步長為1,采用滑動窗口的方式,依次計算模板圖像和窗口子圖像的相似度。
Step2:把相似結果存儲在結果矩陣中。
Step3:最終在結果矩陣中找到最佳匹配值。相似度越高,則最佳匹配值越大,結果矩陣中對應部分越亮。
OpenCV中提供了接口函數cv2.matchTemplate(src,tmpl,method)進行模板匹配,其中method表示選擇的匹配方法。可用的方法包括如下幾種。
(1)平方差匹配
CV_TM_SQDIFF:最好的匹配對應的匹配值為0。匹配越差,匹配值越大。

(2)標準平方差匹配
CV_TM_SQDIFF_NORMED:最好的匹配對應的匹配值為0。匹配越差,匹配值越大。

(3)相關匹配
CV_TM_CCORR:值越大,表示匹配程度越高。0表示最差的匹配效果。

(4)標準相關匹配
CV_TM_CCORR_NORMED:值越大,表示匹配程度越高。0表示最差的匹配效果。

(5)相關匹配
CV_TM_CCOEFF:1表示完美匹配,-1表示糟糕的匹配,0表示沒有任何相關性。

(6)標準相關匹配
CV_TM_CCOEFF_NORMED:1表示完美匹配,-1表示糟糕的匹配,0表示沒有任何相關性。

基于像素值的方案是對相同位置的兩張圖像的像素值進行匹配,要求在相同檢測位置的像素值大小要相等或相近。但是在實際測試過程中,因為異形屏、手機分辨率、劉海屏或Bug調試界面的不同,會導致圖像的大小和UI差異比較大,模板匹配算法很難適配這種情況。基于特征點的方案可以解決這些問題。
- ThinkPHP 5實戰
- 計算機圖形學編程(使用OpenGL和C++)(第2版)
- 程序員數學:用Python學透線性代數和微積分
- Julia機器學習核心編程:人人可用的高性能科學計算
- Python編程完全入門教程
- 智能手機APP UI設計與應用任務教程
- Python:Deeper Insights into Machine Learning
- Arduino計算機視覺編程
- Principles of Strategic Data Science
- 零代碼實戰:企業級應用搭建與案例詳解
- Java EE Web應用開發基礎
- 嵌入式Linux C語言程序設計基礎教程
- STM8實戰
- 深度學習入門:基于Python的理論與實現
- Java高級程序設計