【懒人精灵】全分辨率找图之透明图的跨分辨率查找

透明图查找的两种方式

有两种方式可以查找透明图。一种是二值化查找,一种是梯度查找。

二值化查找的方式简单一些,但是遇到复杂的背景干扰,就找不到。
梯度查找,可以理解为特征查找。特点是无视色差、无视背景干扰、无视图片旋转角度,准确度极高。缺点是需要提前进行训练,操作上要多花一些时间。

下面举几个例子。要查找图中,右上角的放大镜图标/搜索图标。可以看到,不同视频的背景,干扰比较多。

file

file

file

file

测试机型

1、红米Note11 Pro,分辨率1080×2400
2、华为Mate20,分辨率2080×2244

开发工具

懒人精灵高级版1.4.9.4

二值化查找

经过跨分辨率测试,95%以上都可以找到搜索图标。

少量背景复杂有干扰的,无法匹配到。

local srcMat = imageHandler.captureScreenMat('png', 0, 0, 0, 0, 100)
local temp = imageHandler.readResMat('搜索图标.png')
local 反向二值化 = imageHandler.binaryzationMat(srcMat, 200, 255, 0)
local 小图二值化 = imageHandler.binaryzationMat(temp, 200, 255, 0)
local rects = imageHandler.findImgByPyramid(反向二值化, 小图二值化, 1080, 2400, 0.9, -1, 0, 0, 0, 10)
print(rects)

imageHandler.recycle(srcMat, 反向二值化, 小图二值化, temp)

梯度匹配查找

经过跨分辨率测试,匹配的结果非常准确,匹配度接近99.9999%,无视各种背景干扰

local srcMat = imageHandler.captureScreenMat('png', 0, 0, 0, 0, 100)
local names = imageHandler.loadYaml('', '图片.rc')
print('names:', names)

local rects2 = imageHandler.gradientShapeMatch(srcMat, names, 0, 0, 0, 0, 0.9, 5)
print(rects2)

imageHandler.recycle(srcMat)

在开发工具中测试,匹配结果如下。

可以看到,该方法使用了特征匹配,所以能无视分辨率,无视背景。

file

懒人精灵系列合集

使用标准的正则表达式来匹配文本

获取设备的内存信息

使用php获取远程文件的md5,蓝奏云直链解析

全分辨率找图之透明图的跨分辨率查找

使用AiWork的hid硬件进行仿真贝塞尔曲线滑动方法,百分比滑动

全分辨率图色脚本的坐标换算方法

模拟器复制的安卓环境,如何获取到唯一的设备标识

封装一个hid点击函数,带详细的注释

在VSCode中美化脚本运行日志输出

搜索框之模拟粘贴操作

滑块验证训练和全分辨率识别

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

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

了解详情