AIGameAIGame
首页
API文档
UI框架
下载软件
首页
API文档
UI框架
下载软件
  • API文档

    • $global - 全局函数
    • $act - 手势动作
      • 01.手势动作 - $act
      • 02.节点选择器 - UiSelector
      • 03.节点 - Node
    • $ag - 图色框架
    • $app - 应用操作
    • $arc - 悬浮菜单按钮
      • 01.悬浮菜单 - $arc
      • 02.悬浮容器 - MenuBody
      • 03.菜单按钮 - MenuItem
    • $bus - 消息总线
    • $color - 颜色操作
    • $crypt - 加密算法
    • $date - 日期工具
    • $device - 设备信息
    • $ext - dex,jar,so文件加载
    • $draw - 全局绘制
    • $engine - 脚本引擎
      • 01.任务信息 - JsTaskInfo
      • 02.脚本对象 - $task
    • $fc - 文件选择器
    • $file - 文件操作
    • $floaty - 悬浮窗
      • 01.可调节悬浮窗 - AdjFloaty
      • 02.系统级悬浮窗 - SysFloaty
      • 03.应用级悬浮窗 - AppFloaty
    • $img - 图片操作
    • $log - 日志框架
    • $ocr - 文字识别
    • $permit - 权限工具
    • $qr - 二维码工具
    • $res - 资源管理器
    • $root - ROOT与Shell命令
    • $screen - 屏幕操作
    • $storage - 应用内存储
    • $str - 字符串工具类
    • $sys - 系统操作
    • $thread - 并发编程
    • $tip - 对话框
    • $tts - 文字阅读
    • $yolo - 目标检测
    • $yolox - 目标检测

$ocr

  • 更新时间:2025-09-04 17:43:59

文字识别

v(name)

设置要使用的OCR引擎

下面我简单介绍几个识别引擎的特点,ncnn速度最快,但是部分手机会出现识别混乱的现象; mlkit是google提供的OCR引擎,速度较慢,但是识别准确率较高,并且兼容性比ncnn好很多;

  • 参数 : name {string} 可选:ncnn(默认),mlkit
  • 版本 : 1.2.2
//此函数要放在识别之前调用
$ocr.v("ncnn");//设置要使用的OCR引擎

init()

初始化ocr

仅ncnn需要初始化ocr,至少需要两秒的时间

mlkit无需初始化,调用此函数会直接返回成功

  • 返回 : {DetectResult} 结果
  • 版本 : 1.0.0
$ocr.init();

getPoint(word, options)

识别文字拿位置

识别后将把每行结果去除空格和换行符后,判断是否包含指定文字,如果包含则返回该文字的位置

  • 参数 : word {string} 文字
  • 参数 : options {Object} 配置
  • 返回 : {Point} 位置
  • 版本 : 1.0.0
//配置项请参考其他方法
let options = {
    //其他配置项目参考detect方法
};
//返回opencv的Point对象
let point = $ocr.getPoint("文字", options);
if (point != null) {
    //直接点击opencv的Point对象
    $act.click(point);
}

line(options)

识别单行文字

识别的方式有二值化和灰度化,自行配置即可,识别完成后会对识别的结果进行包装处理, 提取出文字为单行字符串,并且去除不需要的空格和换行符。

  • 参数 : options {object} 配置
  • 返回 : {Point} 位置
  • 版本 : 1.0.0
let options = {
    number: true, //是否提取数字(用,号分割)
    //其他配置项目参考detect方法
};

detect(options)

识别文字

会自动截屏并且识别文字

  • 参数 : options {object} 参数
  • 返回 : {DetectResult} 结果
  • 版本 : 1.0.0
//灰度化识别
let options = {
    region: [0,0,200,100], //识别范围(为空则识别整个屏幕)
    gray: true, //开启灰度化
    save: true, //是否保存图片
    savePath: "/sdcard/ocr.png" //保存图片路径(为空则不保存图片)
};
let result = $ocr.detect(options);
//二值化识别
let options = {
    region: [0,0,200,100], //识别范围(为空则识别整个屏幕)
    color: "#EEEEEE", //文字颜色(默认:#EEEEEE)
    threshold: 20, //二值化阈值(默认:20)
    save: true, //是否保存图片
    savePath: "/sdcard/ocr.png" //保存图片路径(为空则不保存图片)
};
let result = $ocr.detect(options);

detect64(base64)

识别base64图片

  • 参数 : base64 {String} 图片base64字符串
  • 返回 : {DetectResult} 结果
  • 版本 : 1.0.0
//识别base64图片
let img = $img.read("/sdcard/test.png");
let base64 = $img.toBase64(img);
let result = $ocr.detect64(base64);

detectPath(imgPath)

识别路径中图片

  • 参数 : imgPath {String} 图片路径
  • 返回 : {DetectResult} 结果
  • 版本 : 1.0.0
//识别本地图片
let result = $ocr.detectPath("/sdcard/test.png");

detectImg(img)

识别图片

  • 参数 : img {Image} 图片对象
  • 返回 : {DetectResult} 结果
  • 版本 : 1.0.0
//识别本地图片
let img = $img.read("/sdcard/test.png");
let result = $ocr.detectImg(img);
if (result.isSuccess()) {
    //...
}

setDevDensity(devDensity)

设置开发环境屏幕密度

  • 参数 : devDensity 开发环境下的屏幕密度
  • 版本 : 1.0.0
$ocr.setDevDensity(3.0);//开发环境下密度

setAdapt(usable)

是否启动分辨率适配

  • 参数 : usable {boolean} 启用分辨率适配(默认:false)
$ocr.setAdapt(true);//默认:false
最近更新: 2025/5/14 08:43
Contributors: 孑小白
Prev
$log - 日志框架
Next
$permit - 权限工具