【全网唯一】按键精灵安卓版纯本地离线yolo插件

目的

按键精灵是一款可以模拟鼠标和键盘操作的自动化工具。它可以帮助用户自动完成一些重复的、繁琐的任务,节省大量人工操作的时间。但按键精灵是不包含图色功能,无法识别屏幕上的图像,根据图像的变化自动执行相应的操作。本篇文章主要讲解下按键精灵纯本地离线yolo插件如何使用和集成。

准备工作

1、下载按键精灵手机助手开发工具

2、下载TomatoYolo纯本地离线文字识别插件:下载地址

  • 目前插件支持yolov5\yolov8\yolov11,其他版本理论上也支持;
  • 支持多个模型加载;
  • 支持模型加密,保证模型安全
  • 支持设定图片输入尺寸;
  • 支持标签安全,可以以序号代替;
  • 支持懒人的多线程;
  • 超高的稳定性,速度快;
  • 不联网、不联网、不联网;

插件集成

1、插件并解压,打开按键精灵,将TomatoOCR.luae文件,导入到按键精灵助手的插件命令中(点击插件命令,右键导入TomatoOCR.luae文件)

2、将armeabi-v7a/x86目录下的TomatoOCR文件和资源文件目录下的opt结尾的4个文件,添加到按键精灵助手中附件中

注:真机一般使用armeabi-v7a,模拟器一般使用x86

3、首先将训练的好的yolo模型通过调试工具【点击下载】转换成可用的模型,然后集成如下代码,init和setLicense代码是与OCR共用的,不需要重复调用.

注意:目前测试 v5、v8和v11 能正常使用,其他版本如不能使用,请联系客服。

4、记事本打开调用说明文件,并拷贝到项目的lua文件中,

复制代码
//******************************************************************************
//******欢迎使用TomatoOCR文字识别插件,加入群【469843332】可获取最新版本!!******
//******************************************************************************

Import "TomatoOCR.luae"

dim tmp = GetTempDir()
TomatoOCR.clear(tmp) // 清楚释放的文件
TomatoOCR.PutAttachment (tmp) // 释放附件中的 opt文件和TomatoOCR
TomatoOCR.init (tmp) // 初始化

dim license = ""        // 设置license,见授权码获取
dim remark = "测试"      // 设置备注,可在控制台的列表中查看
dim flag = TomatoOCR.setLicense(license, remark)
TracePrint flag

// yolo初始化
dim key = "yolo1"    // 可以同时初始化多个,这里通过key进行区分
dim yolo_secret = ""      // yolo模型解密密钥
dim yolo_model_path = ""  // yolo模型路径,必传
dim yolo_label_path = ""  // yolo标签路径,可不传,不传返回的是分类编号
TomatoOCR.initYolo(key, yolo_secret, yolo_model_path, yolo_label_path)
// ----------------------注:以上代码全局只需写一次-------------------------------

Function yolo_start() 
    dim yolo_key = "yolo1"
    
    dim size = 640          // 图片输入大小
    dim score_thresh = 0.35 // 置信度阈值,默认0.35
    dim nms_thresh = 0.45   // 非极大值抑制阈值,默认0.45
    
    // 例子
    SnapShot tmp & "test.png", x1, y1, x2 ,y2
    // dim imageData = Image.SetRotation(tmp & "test.png", 270)  
    // Image.SavePixelData(imageData,tmp & "test.png") // 旋转图片270度,并保存到原路径中
    
    dim result = TomatoOCR.yoloFile(yolo_key, tmp & "test.png", size, score_thresh, nms_thresh)
    TracePrint(result)
    
    If result <> "" Then
        dim tmps = Encode.JsonToTable(result)
        For Each tmp In tmps
            dim label = tmp["label"]
            dim score = tmp["score"]
            dim location = tmp["location"]
            
            TracePrint label, score, location[1], location[2], location[3], location[4]
            TracePrint "中心点:", (location[1] + location[3])/2, (location[2] + location[4])/2
        Next
    End If
    
End Function

yolo_start() 

5、 其中的方法说明如下

|------------------|----------------------------------------------------------------------------------------------------------------|
| 方法名 | 说明 |
| init | 初始化 |
| setLicense | license获取 |
| initYolo | 初始化yolo模型,四个参数: 1、可以同时初始化多个,这里通过key进行区分 2、yolo模型解密密钥 3、yolo模型路径,必传 4、 yolo标签路径,可不传,不传返回的是分类编号 |
| yoloFile | 五个参数: 1、这里通过key进行区分调用对应的yolo模型 2、image,图片 3、图片输入大小,默认640 4、置信度阈值,默认0.35 5、非极大值抑制阈值,默认0.45 如果识别为不到时,返回的数据为""字符串 |
| releaseYolo | 释放yolo模型 |

6、运行

以上就是所有的运行情况。

完毕

相对来说,在按键精灵进行插件开发还是比较困难的,官方提供的lua语言功能太少,原生插件集成无法采用直连的方式,但相比部署在服务器上,还是减少了很多资源占用情况,更加方便便捷。

相关推荐
jay神16 小时前
【原创】基于YOLO模型的手势识别系统
深度学习·yolo·计算机·毕业设计·软件设计与开发
irisMoon0617 小时前
yolov5单目测距+速度测量+目标跟踪
人工智能·yolo·目标跟踪
FL16238631291 天前
智慧交通自动驾驶场景道路异常检测数据集VOC+YOLO格式8302张6类别
人工智能·yolo·自动驾驶
全球通史1 天前
[特殊字符] RISC-V实战:从0到100+FPS!进迭时空(Spacemit)开发板YOLOv8部署终极指南
嵌入式硬件·yolo·risc-v
minhuan1 天前
构建AI智能体:九十六、基于YOLO的智能生活助手:食材识别、植物健康与宠物行为分析
yolo·计算机视觉·视觉大模型·大模型应用
xuehaikj2 天前
【深度学习】YOLOv10n-MAN-Faster实现包装盒flap状态识别与分类,提高生产效率
深度学习·yolo·分类
xuehaikj2 天前
【目标检测】YOLOv10n-ADown弹孔检测与识别系统
yolo·目标检测·目标跟踪
B站_计算机毕业设计之家2 天前
python手写数字识别计分系统+CNN模型+YOLOv5模型 深度学习 计算机毕业设计(建议收藏)✅
python·深度学习·yolo·计算机视觉·数据分析·cnn
xuehaikj2 天前
基于YOLOv8的汽车目标检测系统实现与优化_含多种车型识别与自动驾驶应用场景
yolo·目标检测·汽车