【全网唯一】按键精灵安卓版纯本地离线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语言功能太少,原生插件集成无法采用直连的方式,但相比部署在服务器上,还是减少了很多资源占用情况,更加方便便捷。

相关推荐
智驱力人工智能17 小时前
小区高空抛物AI实时预警方案 筑牢社区头顶安全的实践 高空抛物检测 高空抛物监控安装教程 高空抛物误报率优化方案 高空抛物监控案例分享
人工智能·深度学习·opencv·算法·安全·yolo·边缘计算
工程师老罗17 小时前
YOLOv1 核心结构解析
yolo
Lun3866buzha18 小时前
YOLOv10-BiFPN融合:危险物体检测与识别的革新方案,从模型架构到实战部署全解析
yolo
Katecat9966319 小时前
YOLOv8-MambaOut在电子元器件缺陷检测中的应用与实践_1
yolo
工程师老罗19 小时前
YOLOv1 核心知识点笔记
笔记·yolo
工程师老罗1 天前
基于Pytorch的YOLOv1 的网络结构代码
人工智能·pytorch·yolo
学习3人组1 天前
YOLO模型集成到Label Studio的MODEL服务
yolo
孤狼warrior1 天前
YOLO目标检测 一千字解析yolo最初的摸样 模型下载,数据集构建及模型训练代码
人工智能·python·深度学习·算法·yolo·目标检测·目标跟踪
水中加点糖1 天前
小白都能看懂的——车牌检测与识别(最新版YOLO26快速入门)
人工智能·yolo·目标检测·计算机视觉·ai·车牌识别·lprnet
前端摸鱼匠2 天前
YOLOv8 环境配置全攻略:Python、PyTorch 与 CUDA 的和谐共生
人工智能·pytorch·python·yolo·目标检测