赞
踩
Airtest的图像识别算法
2.1 Airtest图像识别的基本原理
以一个touch的动作为例,分析执行的日志:
在识别图像的过程中,Airtest尝试用了SURFMatching、TemplateMatching和BRISKMatching这几个算法去查找,并且还分别告诉了我们这几个算法的执行结果是什么?
TemplateMatching算法的执行结果里面,有一个’confidence’:0.4586929976940155,这个其实就是算法的可信度;如果算法识别的可信度(也就是confidence)超过了我们设置的阈值(默认0.7),就会认为识别成功,否则认为失败。
这里图像识别使用了开源的opencv库,默认设置的算法是CVSTRATEGY = [“surf”, “tpl”, “brisk”],每次查找图片的时候,airtest就会按照这个设置好的算法顺序去执行,直到找出一个符合设定阈值的识别结果,或者是一直循环查找,直到超时。
2.2 Airtest图像识别算法分类
Airtest支持opencv3里面的8种图像识别算法:
MATCHING_METHODS = {
"tpl":TemplateMatching,
"kaze":KAZEMatching,
"brisk":BRISKMatching,
"akaze":AKAZEMatching,
"orb": ORBMatching,
"sift": SIFTMatching,
"surf": SURFMatching,
"brief": BRIEFMatching,
}
以上8种算法可以分为两类:
模板匹配(TemplateMatching)
基于特征点的图像识别
2.2.1 模板匹配(TemplateMatching)
模板匹配是一种最原始、最基本的模式识别方法,研究某一特定对象物的图案位于图像的什么地方,进而识别对象物,这就是一个匹配问题。它是图像处理中最基本、最常用的匹配方法。模板匹配具有自身的局限性,主要表现在它只能进行平行移动,若原图像中的匹配目标发生旋转或大小变化,该算法无效。
模板匹配就是在整个图像区域发现与给定子图像匹配的小块区域
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。