安卓/ios按键精灵脚本开发工具:OpenCV.FindImgAll命令介绍

发布于:2025-08-29 ⋅ 阅读:(22) ⋅ 点赞:(0)

函数名称

OpenCV.FindImgAll 找图返回全部结果

函数功能

使用OpenCV多尺度模板找图,返回全部结果

与FindPic的区别:

OpenCV找图:基于特征相似性的找图,允许一定几何形变或颜色差异,从而提高多分辨率容兼及抗干扰能力,容错率较高,但查找速度较慢、消耗cpu性能较大

由于允许相似性差异,查找的目标图片应尽量完整包含特征轮廓以减少特征相近的干扰数据

FindPic找图:基于遍历像素点颜色的找图,查找速度较快、消耗cpu性能较小,但容错率较低,适用于特征固定的静态场景

支持版本:安卓版v4.1.0、手机助手v4.4.0或以上版本

函数语法

result = OpenCV.FindImgAll(left, top, right, bottom, imgs, sim[, minScale, maxScale, stepCount])

函数参数

参数名 参数类型 是否必选 参数说明
left int 识别区域的左上角x坐标
top int 识别区域的左上角y坐标
right int 识别区域的右下角x坐标
bottom int 识别区域的右下角y坐标
imgs string 要查找的图片,支持附件和本地路径图片,多个图片用“|”分隔,查找的图片越多耗时越长
sim float 相似度阈值,过滤此相似度以下的结果,0到1之间的小数
minScale float 目标图片最小缩放比例,默认为 0.5
maxScale float 目标图片最大缩放比例,默认为 1.5
stepCount int 缩放查找的步数,步数越大,精度越高,但耗时越长,默认为 5

函数返回

返回名 返回类型 返回说明
result table 返回执行结果信息的键值表

result 包含的字段

字段名 字段类型 字段说明
code int 执行函数的结果状态码,0为执行成功,非0为失败,失败原因查看msg字段
msg string 执行结果的描述,失败则描述具体的失败原因
data table 返回找图结果数组键值表,如存在n个结果,则table长度为n

data 包含的字段

字段名 字段类型 字段说明
x int 识别到目标目标的左上角x坐标
y int 识别到目标目标的左上角y坐标
w int 识别到目标图片范围的宽度
h int 识别到目标图片范围的高度
pic string 识别到的目标图片名称(含路径)
score float 识别到目标图片的相似度,0到1之间的小数

代码范例

Dim dirPath = GetSdcardDir() & "/test/",picPath = dirPath & "000.png" 
Dim ret,ranTime
PutAttachment dirPath,"*"
TracePrint dir.Exist(picPath)
ranTime = TickCount()
ret = OpenCV.FindImgAll(0, 0, 0, 0, picPath & "|Attachment:111.png|Attachment:222.png", 0.8, 0.9, 1.2, 10)
TracePrint TickCount() - ranTime
If ret["code"] = 0 Then 
    For i = 1 to len(ret["data"])
        TracePrint "识别到图片:" & ret["data"][i]["pic"] &_
        ",左上角x坐标:" & ret["data"][i]["x"] &_
        ",左上角y坐标:" & ret["data"][i]["y"] &_
        ",区域宽:" & ret["data"][i]["w"] &_
        ",区域高:" & ret["data"][i]["h"] &_
        ",可信度:" & ret["data"][i]["score"]
    Next    
Else 
    TracePrint ret["msg"]
End If


网站公告

今日签到

点亮在社区的每一天
去签到