按键精灵资讯站

返回资讯列表

安卓/IOS按键精灵开发工具图像识别利器:OpenCV.FindImgAll 函数全面介绍与使用指南

2025-08-28 版权归原作者所有,如有侵权,请联系我们

在自动化脚本领域,按键精灵集成了强大的开源计算机视觉库——OpenCV,并提供了 OpenCV.FindImgAll 函数。这个函数彻底改变了按键精灵图像识别的能力,本文将带你全面了解并掌握它。

OpenCV.FindImgAll 是按键精灵调用其内置OpenCV模块的一个高级找图函数。它的核心功能是:在屏幕的指定区域内,查找所有与给定模板图片相匹配的位置,并返回一个包含所有匹配点坐标的数组。


与FindPic的区别:

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

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

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


函数名称

OpenCV.FindImgAll 找图返回全部结果

函数功能

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



函数语法

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




优势与注意事项

优势:

  • 多目标查找:核心优势,一键获取所有结果。

  • 速度快:OpenCV算法优化程度高,远高于传统FindPic。

  • 精度高:支持透明通道和强大的匹配算法,抗干扰能力强。

  • 功能灵活:提供两种返回模式,适应不同场景。

注意事项:

  • 插件依赖:脚本需附带或确保系统有正确的OpenCV插件。

  • 相似度权衡:sim值设置过高可能找不到目标,过低可能找到错误目标,需要反复测试。

  • 性能考量:查找区域越大,耗时越长。务必精确指定查找范围。

OpenCV.FindImgAll 是按键精灵迈向“智能自动化”的关键一步。它将强大的开源视觉库的力量交到了脚本开发者手中,使得开发复杂、稳定、高效的图形化界面自动化脚本成为可能。

无论是游戏中的批量拾取、办公软件中的批量操作,还是应用程序中的多项选择,只要你需要与屏幕上的多个相同元素进行交互,OpenCV.FindImgAll 都是你的不二之选。掌握它,让你的脚本效能提升一个档次!






按键精灵是一款专业的自动化智能领域编程软件,专注于电脑/安卓/iOS脚本开发,手机辅助工具开发。

按键手机助手下载 按键安卓版下载 按键iOS版下载 按键电脑版下载

声明:本站所有文章均为按键精灵所有,转载请注明出处: http://m.anjian.com/article_43.shtml