AutoJs6 文档 - 6.3.3


光学字符识别 (OCR)#

ocr 模块用于识别图像中的文本.

AutoJs6 的 OCR 特性是基于 Google ML Kit文字识别 API 实现的.


ocr


[@] ocr#

ocr 可作为全局对象使用:

typeof ocr; // "function"
typeof ocr.detect; // "function"
typeof ocr.recognizeText; // "function"

ocr(img, options?)#

6.3.0 Overload [1-2]/6

识别图像包含的所有文本, 返回文本数组.

ocr.recognizeText(img, options?) 的别名方法.

/* 申请屏幕截图权限. */
images.requestScreenCapture();

/* 截屏并获取包装图像对象. */
let img = images.captureScreen();

/* OCR 识别并获取结果, 结果为字符串数组. */
let results = ocr(img);

/* 结果过滤, 筛选出文本中可部分匹配 "app" 的结果, 如 "apple", "disappear" 等. */
results.filter(text => text.includes('app')); 

ocr(img, region)#

6.3.0 Overload 3/6

识别指定区域内图像包含的所有文本, 返回文本数组.

ocr(img, { region: region }) 的便捷方法.

ocr.recognizeText(img, region) 的别名方法.

/* 申请屏幕截图权限. */
images.requestScreenCapture();

/* 截屏并获取包装图像对象. */
let img = images.captureScreen();

/* 在区域 [ 0, 0, 100, 150 ] 内进行 OCR 识别并获取结果, 结果为字符串数组. */
let results = ocr(img, [ 0, 0, 100, 150 ]);

/* 结果过滤, 筛选出文本中可部分匹配 "app" 的结果, 如 "apple", "disappear" 等. */
results.filter(text => text.includes('app')); 

关于 OCR 区域参数 region 的更多用法, 参阅 OcrOptions#region 小节.

ocr(imgPath, options?)#

6.3.0 Overload [4-5]/6

识别指定路径对应图像包含的所有文本, 返回文本数组.

当指定路径无法解析为包装图像对象时, 将抛出 TypeError 异常.

ocr.recognizeText(imgPath, options?) 的别名方法.

ocr('./picture.jpg'); /* 获取本地图像文件中的所有文本. */

ocr(imgPath, region)#

6.3.0 Overload 6/6

识别指定路径对应图像在指定区域内包含的所有文本, 返回文本数组.

当指定路径无法解析为包装图像对象时, 将抛出 TypeError 异常.

ocr(imgPath, { region: region }) 的便捷方法.

ocr.recognizeText(imgPath, region) 的别名方法.

/* 获取本地图像文件在区域 [ 0, 0, 100, 150 ] 内的所有文本. */
ocr('./picture.jpg', [ 0, 0, 100, 150 ]);

关于 OCR 区域参数 region 的更多用法, 参阅 OcrOptions#region 小节.

[m] recognizeText#

recognizeText(img, options?)#

6.3.0 Overload [1-2]/6

识别图像包含的所有文本, 返回文本数组.

ocr.recognizeText(img, options?)ocr(img, options?) 等价.

images.requestScreenCapture(); /* 申请屏幕截图权限. */
let img = images.captureScreen(); /* 截屏并获取包装图像对象. */
ocr.recognizeText(img).filter(text => text.includes('app')); /* 过滤结果. */

recognizeText(img, region)#

6.3.0 Overload 3/6

识别指定区域内图像包含的所有文本, 返回文本数组.

ocr.recognizeText(img, { region: region }) 的便捷方法.

ocr.recognizeText(img, region)ocr(img, region) 等价.

images.requestScreenCapture(); /* 申请屏幕截图权限. */
let img = images.captureScreen(); /* 截屏并获取包装图像对象. */
ocr.recognizeText(img, [ 0, 0, 100, 150 ]).filter(text => text.includes('app')); /* 过滤结果. */

关于 OCR 区域参数 region 的更多用法, 参阅 OcrOptions#region 小节.

recognizeText(imgPath, options?)#

6.3.0 Overload [4-5]/6

识别指定路径对应图像包含的所有文本, 返回文本数组.

当指定路径无法解析为包装图像对象时, 将抛出 TypeError 异常.

ocr.recognizeText(imgPath, options?)ocr(imgPath, options?) 等价.

ocr.recognizeText('./picture.jpg'); /* 获取本地图像文件中的所有文本. */

recognizeText(imgPath, region)#

6.3.0 Overload 6/6

识别指定路径对应图像在指定区域内包含的所有文本, 返回文本数组.

当指定路径无法解析为包装图像对象时, 将抛出 TypeError 异常.

ocr.recognizeText(imgPath, { region: region }) 的便捷方法.

ocr.recognizeText(imgPath, region)ocr(imgPath, region) 等价.

/* 获取本地图像文件在区域 [ 0, 0, 100, 150 ] 内的所有文本. */
ocr.recognizeText('./picture.jpg', [ 0, 0, 100, 150 ]);

关于 OCR 区域参数 region 的更多用法, 参阅 OcrOptions#region 小节.

[m] detect#

detect(img, options?)#

6.3.0 Overload [1-2]/6

识别图像包含的所有文本, 返回 OcrResult 数组.

/* 申请屏幕截图权限. */
images.requestScreenCapture();

/* 截屏并获取包装图像对象. */
let img = images.captureScreen();

/* 获取本地图像文件中的所有识别结果. */
let result = ocr.detect(img);

/* 筛选置信度高于 0.8 的结果. */
result.filter(o => o.confidence >= 0.8);

detect(img, region)#

6.3.0 Overload 3/6

识别指定路径对应图像在指定区域内包含的所有文本, 返回 OcrResult 数组.

ocr.detect(img, { region: region }) 的便捷方法.

/* 申请屏幕截图权限. */
images.requestScreenCapture();

/* 截屏并获取包装图像对象. */
let img = images.captureScreen();

/* 获取本地图像文件在区域 [ 0, 0, 100, 150 ] 内的所有识别结果. */
let result = ocr.detect(img, [ 0, 0, 100, 150 ]);

/* 筛选置信度高于 0.8 的结果. */
result.filter(o => o.confidence >= 0.8);

关于 OCR 区域参数 region 的更多用法, 参阅 OcrOptions#region 小节.

detect(imgPath, options?)#

6.3.0 Overload [4-5]/6

识别指定路径对应图像包含的所有文本, 返回 OcrResult 数组.

当指定路径无法解析为包装图像对象时, 将抛出 TypeError 异常.

let result = ocr.detect('./picture.jpg'); /* 获取本地图像文件中的所有识别结果. */
result.filter(o => o.confidence >= 0.8); /* 筛选置信度高于 0.8 的结果. */

detect(imgPath, region)#

6.3.0 Overload 6/6

识别指定路径对应图像在指定区域内包含的所有文本, 返回 OcrResult 数组.

当指定路径无法解析为包装图像对象时, 将抛出 TypeError 异常.

ocr.detect(imgPath, { region: region }) 的便捷方法.

/* 获取本地图像文件在区域 [ 0, 0, 100, 150 ] 内的所有识别结果. */
let result = ocr.detect('./picture.jpg', [ 0, 0, 100, 150 ]);

/* 筛选置信度高于 0.8 的结果. */
result.filter(o => o.confidence >= 0.8);

关于 OCR 区域参数 region 的更多用法, 参阅 OcrOptions#region 小节.