图像匹配操作

本章节为您介绍如何使用模板匹配的方法进行元素的查找点击操作,FIRERPA 支持使用模板匹配以及特征点匹配(SIFT)。在开始前,您需要了解关于图像匹配的基本信息,图像匹配分为模板和特征点匹配,模板匹配适合分辨率相同的设备,更加高效。特征点匹配适合不同分辨率的屏幕,但是部分阈值可能需要根据不同设备屏幕的大小进行微调。

提示

所有匹配流程均在 FIRERPA 服务端进行,不占用本机资源,但是由于移动端性能限制效率较低,对性能有要求的可在本机自行截图匹配。

匹配接口

图像匹配接口是一个稍微复杂的接口,但是大部分情况下,您所需要调整的只是 threshold,distance 参数,您也可以在下列参数释义中找到各个参数的含义。接口的主要形式如下,默认情况下进行全屏匹配并使用模板匹配方法进行,此接口主要为节省您主机的计算资源,对性能或识别结果有要求的也可使用截图接口自行进行截图匹配。

d.find_similar_image(data, threshold=0.0, distance=250, scale=1.0, area=FindImageArea.FIA_WHOLE_SCREEN, method=FindImageMethod.FIM_TEMPLATE)
字段 描述
data 待匹配图像的字节数据(切图)
threshold 丢弃阈值(相似度)
distance 最大特征点距离(仅特征匹配)
scale 缩放匹配(提高性能,不适用于模板匹配)
area 匹配区域(限定区域提高性能)
method 匹配方法

匹配方法

匹配方法支持模板以及特征点匹配,模板匹配适用于纹理明显,目标形状固定的情况,但对旋转、尺度变化、光照变化不够鲁棒。特征点匹配通过检测图像特征点如角点、边缘并描述特征,然后在两幅图像中进行匹配。对旋转、尺度变化、光照变化等具有较强的鲁棒性,适用于场景复杂的匹配任务。

匹配方法 描述
FindImageMethod.FIM_TEMPLATE 模板匹配
FindImageMethod.FIM_FEATURE 特征点匹配

匹配区域

匹配区域主要用来平衡移动端的性能,大部分情况下,需匹配的项目在屏幕的固定区域,您可以通过指定其所在区域来减小图像大小从而减少匹配时的计算量。

匹配区域 描述
FindImageArea.FIA_WHOLE_SCREEN 全屏匹配
FindImageArea.FIA_LEFT 匹配左半屏幕
FindImageArea.FIA_TOP_LEFT 匹配左上角屏幕
FindImageArea.FIA_TOP 匹配上半屏幕
FindImageArea.FIA_TOP_RIGHT 匹配右上角屏幕
FindImageArea.FIA_RIGHT 匹配右半屏幕
FindImageArea.FIA_BOTTOM_RIGHT 匹配右下角屏幕
FindImageArea.FIA_BOTTOM 匹配下半屏幕
FindImageArea.FIA_BOTTOM_LEFT 匹配左下角屏幕