目的

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

        当然除了Windows版的,还有:

        安卓端的文字识别插件:按键精灵安卓版纯本地离线文字识别插件

        iOS端的文字识别插件:按键精灵iOS版纯本地离线文字识别插件

准备工作

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

        

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

        

  • 目前插件支持中英文、繁体字、日语、韩语识别;
  • 支持小图、区域图和单行文字识别,准确率高达99%;
  • 支持多种返回格式,json\文本\数字\自定义;
  • 支持二值化;
  • 支持找字返回坐标并点击;
  • 超高的稳定性,速度快;
  • 支持多线程;

插件集成

1、下载插件后,将名字改成 TomatoOCRPlugin.dll 右键导入到插件命令中,如下图:

2、将下面的代码导入到助手中

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

Event Form1.Button1.Click

    
    Plugin.TomatoOCRPlugin.init(2) // 初始化两个线程
    Plugin.TomatoOCRPlugin.setMode("dev") // 详见:https://www.52tomato.com/docs/index.html#/guide/code?id=setmode
    
    Dim license
    license = ""     // 设置license,见授权码获取
    Dim remark
    remark = "测试"   // 设置备注,可在控制台的列表中查看,这个必须加一个,不可能设置成“”
    flag = Plugin.TomatoOCRPlugin.setLicense(license,remark)
    traceprint(flag)
    // *******************************以上是初始化代码,只需要写一次*******************************

    Dim obj
    obj = Plugin.TomatoOCRPlugin.lock() // 获取句柄,与unlock一一对应,必写

    Plugin.TomatoOCRPlugin.setRecType obj, "ch-3.0"
    // 注:ch、ch-2.0、ch-3.0版可切换使用,对部分场景可适当调整
    // "ch":普通中英文识别,1.0版模型
    // "ch-2.0":普通中英文识别,2.0版模型
    // "ch-3.0":普通中英文识别,3.0版模型
    // "cht":繁体,"japan":日语,"korean":韩语
    Plugin.TomatoOCRPlugin.setDetBoxType obj, "rect"
    // 调整检测模型检测文本参数- 默认"rect": 由于手机上截图文本均为矩形文本,从该版本之后均改为rect,"quad":可准确检测倾斜文本
    Plugin.TomatoOCRPlugin.setDetUnclipRatio obj, 1.9
    // 调整检测模型检测文本参数 - 默认1.9: 值范围1.6-2.5之间
    Plugin.TomatoOCRPlugin.setRecScoreThreshold obj, 0.5
    // 识别得分过滤 - 默认0.1,值范围0.1-0.9之
    Plugin.TomatoOCRPlugin.setReturnType obj, "json"
    // 返回类型 - 默认"json": 包含得分、坐标和文字;
    // "text":纯文字;
    // "num":纯数字;
    // 自定义输入想要返回的文本:".¥1234567890",仅只返回这些内容
    Plugin.TomatoOCRPlugin.setBinaryThresh obj, 0
    // 二值化设定,非必须,默认为0
    Plugin.TomatoOCRPlugin.setRunMode obj, "slow" // 默认“slow”;“fast”:小图识别上会加速,但准确率会降低,推荐用默认值“slow”
    
    Dim recType
    recType = 3
    // type=-1 : 检测 + 方向分类 + 识别
    // type=0 : 只检测
    // type=1 : 方向分类 + 识别
    // type=2 : 只识别
    // type=3 : 检测 + 识别
    // 只检测文字位置:type=0
    // 全屏识别: type=3或者不传type
    // 截取单行文字识别:type=1或者type=2
    
    // 例子一
    result1 = Plugin.TomatoOCRPlugin.ocrFile(obj, "C:\\Users\\Administrator\\Downloads\\1.jpg", recType)
    traceprint(result1)

    // 例子二,自定义截图区域,相对于电脑屏幕
    result2 = Plugin.TomatoOCRPlugin.ocrScreen(obj, 0,0,500,500, recType,"C:\\")
    traceprint(result2)
    
    // 找字返回中心点,找不到返回“”空字符串
    center_point = Plugin.TomatoOCRPlugin.findTapPoint(obj, "气")
    traceprint(center_point)
    
    // 找字返回中心点,找出所有相匹配的字,找不到返回“”空字符串
    center_points = Plugin.TomatoOCRPlugin.findTapPoints(obj, "气")
    traceprint(center_points)

    Plugin.TomatoOCRPlugin.unlock(obj)   // 释放句柄

End Event

3、运行

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

完毕

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

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐