【懒人精灵】跨分辨率梯度匹配,区域找图速度仅个位数(4ms)

先来看小飞侠插件梯度匹配返回结果:

{
  "code": 0,
  "message": "ok",
  "imageWidth": 2248,
  "imageHeight": 1080,
  "elapsedMs": 4,
  "count": 1,
  "data": [
    {
      "label": "二维码",
      "left": 2044,
      "top": 521,
      "right": 2120,
      "bottom": 596,
      "width": 76,
      "height": 75,
      "centerX": 2082,
      "centerY": 559,
      "angle": 270,
      "directionAngle": 0,
      "directionAngleClock": 0,
      "score": 0.940869
    }
  ]
}

其中“elapsedMs”就是匹配速度,只有4ms!
如何实现呢?

截图

这次采用ADB截图。将已开启开发者模式和USB调试的手机和电脑用数据线连接,点击要截图的设备,即可ADB截图。

file

建模和推理

要识别图中右侧的二维码图标,只需要普通拉框就可以采集特征。

在二维码图标上拉出一个矩形框。

模板名称:登录页_二维码(自定义)
训练分辨率:设置为“当前宽度”
时钟角度:留空(不需要测角度)

点击建模测试按钮。

file

等待一两秒后,会给出匹配结果,并在目标位置画框。可以看到,得分为0.81。
生成的yaml文件,位于“C:\Users\Administrator\Desktop\二维码_20260902_182123\二维码.yaml”

file

Lua端测试

在懒人精灵脚本项目中,新建一个名为“YAML.rc”的资源文件,将刚才训练得到的yaml导入到资源包中。

file

测试Demo:

import('com.nx.assist.lua.LuaEngine')

local xfxModule = require('lib/XfxPlugin')
XFX = xfxModule:new({
    apkName = 'xfxPlugin-release.apk',
    context = LuaEngine.getContext(), -- 插件的全局上下文
    -- 插件授权验证(授权后可调用开发文档中带"🔒"标记的高级接口)
    licenseKey = 'XFX-XXXXX-XXXXX-XXXXX-XXXXX',
    licenseSecret = 'API密钥',
    licenseRemarks = getDeviceId(),     -- 验证设备备注说明
})

local opcvOps = XFX:getOps('opencvOps'); assert(opcvOps)

print('加载rc资源文件...')
if XFX:loadYaml() then
    print('已加载Yaml资源文件')
    print(opcvOps.getYamlNames()) -- 打印已加载的Yaml资源文件名
  -- {"code":0,"message":"ok","data":["登录页_二维码.yaml"]}
else
    print('Yaml资源文件不存在,请检查')
end

local bmp = LuaEngine.snapShot(0, 0, 0, 0)
local matId = opcvOps.bitmapToMat(bmp)
local result = opcvOps.matchGradientShape(matId, '登录页_二维码.yaml',1864,455,2247,655, 0.3, 10, '4,8', 0.3)
printEx(result)
-- {"code":0,"message":"ok","imageWidth":2248,"imageHeight":1080,"elapsedMs":4,"count":1,"data":[{"label":"二维码","left":2044,"top":521,"right":2120,"bottom":596,"width":76,"height":75,"centerX":2082,"centerY":559,"angle":270,"directionAngle":0,"directionAngleClock":0,"score":0.940869}]}

-- 释放资源
opcvOps.recycle(matId)
opcvOps.releaseYaml('')
1. 官方交流QQ群,添加多个不批。建议使用安卓手机或电脑申请。
飞云脚本圈: 586333520飞云脚本圈
Auto.js学习交流③群:286635606
Auto.js学习交流②群:712194666(满员)
IOS免越狱自动化测试群:691997586
2. 盗版,破解有损他人权益和违法作为,请各位会员支持正版。
3. 本站部分资源来源于用户上传和网络搜集,如有侵权请提供版权证明并联系站长删除。
4.如未特别申明,本站的技术性文章均为原创,未经授权,禁止转载/搬运等侵权行为。
5.全站所有付费服务均为虚拟商品,购买后自动发货。售出后概不接受任何理由的退、换。注册即为接受此条款。
6.如果站内内容侵犯了您的权益,请联系站长删除。
飞云脚本 » 【懒人精灵】跨分辨率梯度匹配,区域找图速度仅个位数(4ms)

企业级大数据智能营销管理系统

源码转让