OCR 文档

稳定性: 实验

Paddle OCR

5.6.1 新增 基于百度飞桨的 OCR

paddle.ocr(img, path)

  • img {Image} 图片
  • path {String} 自定义模型路径,必须是绝对路径
  • return {Array}

使用自定义模型进行文字识别

// files.path() 将相对路径转为绝对路径 let myModelPath = files.path("./models"); let result = paddle.ocr(img, myModelPath)

paddle.ocr(img[, cpuThreadNum=4, useSlim=true])

  • img {Image} 图片
  • cpuThreadNum {Number} 识别使用的 CPU 核心数量
  • useSlim {Boolean} 加载的模型,可选值:
    • true ocr_v2_for_cpu(slim) :快速模型,默认
    • false ocr_v2_for_cpu : 精准模型
  • return {Array}

高精度识别,返回值包含坐标,置信度

1let res = paddle.ocr(img);
2toastLog(JSON.stringify(res));

返回值示例

1[
2    {
3        "bounds": {
4            "bottom": 535,
5            "left": 348,
6            "right": 631,
7            "top": 384
8        },
9        "confidence": 0.9808736,
10        "inferenceTime": 188.0,
11        "preprocessTime": 53.0,
12        "text": "约定",
13        "words": "约定"
14    }
15]

paddle.ocrText(img[, cpuThreadNum=4, useSlim=true])

  • img {Image} 图片
  • cpuThreadNum {Number} 识别使用的 CPU 核心数量
  • useSlim {Boolean} 加载的模型,可选值:
    • true ocr_v2_for_cpu(slim) :快速模型,默认
    • false ocr_v2_for_cpu : 精准模型
  • return {Array} 字符串数组

只返回文本识别信息

1let res = paddle.ocrText(img);
2toastLog("识别信息: " + JSON.stringify(res));
3//["约定","最终相遇"]

paddle.release()

释放 native 内存,非必要,供万一出现内存泄露时使用

Tessract OCR

6.2.9 新增 前往 github 下载完整例子:TessractOCR

Google ML kIT OCR

6.3.4 新增

gmlkit.ocr(img,Language)

  • img {Image} 图片
  • Language {String} 识别语言,可选值为:
    • la 拉丁
    • zh 中文
    • sa 梵文
    • ja 日语
    • ko 韩语
    • 更多语言
  • retrun {Object} Json
1//识别中文
2let result = gmlkit.ocr(img, "zh");
3log(result.text)