Appearance
OCR 文字识别
系统内置以下两种本地文字识别(OCR)引擎:
- Paddle OCR (已升级至 PP-OCR v5):基于 NCNN 引擎,无需网络,完全本地离线识别,精度极高,且针对多线程进行了性能和崩溃隔离优化。
- Google ML Kit OCR:基于 Google 机器学习套件,速度快、稳定性高,支持多国语言。
Paddle OCR (PP-OCR v5)
paddle.ocr(img)
img{Image} 要识别的图片对象。- 返回:{Array} 识别结果数组。每个元素包含识别文本、置信度及坐标区域。
返回结果字段说明:
text{String} 识别到的整行文本(同words)。confidence{Number} 识别置信度(0 ~ 1)。bounds{Rect} 文本所在的矩形区域,包含left,top,right,bottom属性。
js
let img = captureScreen();
let result = paddle.ocr(img);
for (let i = 0; i < result.length; i++) {
let item = result[i];
log("识别文本: " + item.text + " 置信度: " + item.confidence);
log("坐标: " + item.bounds);
}paddle.ocrText(img)
img{Image} 要识别的图片对象。- 返回:{Array} 识别出的所有文本行组成的字符串数组。
仅获取识别出的文字内容,不包含坐标与置信度:
js
let img = captureScreen();
let texts = paddle.ocrText(img);
log("所有识别到的文字: " + JSON.stringify(texts));
// 输出类似: ["微信", "通讯录", "发现", "我"]paddle.release()
- 释放底层 Native 资源(在当前版本为控制台单例自动管理,调用此方法为空操作)。
Google ML Kit OCR
使用 Google ML Kit 实现的文字识别,运行效率高,支持多种语言。
gmlkit.ocr(img, language)
img{Image} 要识别的图片对象。language{String} 识别的目标语言,可选值:"zh":中文(默认支持)"la":拉丁语(英文等)"ja":日语"ko":韩语
- 返回:{Object} 嵌套的结构化识别结果 JSON 对象。
返回对象结构 (GoogleMLKitOcrResult):
level{Number} 节点层级(0: 全文,1: 文本块 Block,2: 文本行 Line,3: 字符 Element)。text{String} 当前层级的文字内容。bounds{Rect} 当前层级文字的包围盒矩形区域。confidence{Number} 置信度(仅在 Line 和 Element 层级有效)。children{Array} 子层级元素数组。
js
// 识别屏幕截图中的中文
let img = captureScreen();
let result = gmlkit.ocr(img, "zh");
log("全文内容: " + result.text);
// 遍历第一层文本块
if (result.children) {
result.children.forEach(block => {
log("Block 文本: " + block.text + " 坐标: " + block.bounds);
});
}gmlkit.ocrText(img, language)
img{Image} 要识别的图片对象。language{String} 识别的目标语言(如"zh")。- 返回:{String} 识别到的整篇纯文本字符串。
js
let img = captureScreen();
let allText = gmlkit.ocrText(img, "zh");
log("识别到的纯文本内容:\n" + allText);