hamibot 中文文档 下载 App

Hamibot OCR 文字识别入门

OCR 是什么

OCR(Optical Character Recognition,光学字符识别)可以把图片里的文字提取出来变成可编辑文本。在 Hamibot 里,这个能力让脚本可以:

前置条件

快速示例

// 确保无障碍已启用
auto.waitFor();

// 请求屏幕截图权限
if (!requestScreenCapture()) {
    toastLog('没有授予屏幕截图权限');
    hamibot.exit();
}

// 等待权限生效
sleep(1000);

// 截屏
const img = captureScreen();

// 识别图片中的文字(返回结构化结果)
const res = ocr.recognize(img);
log(res);

// 或者只获取纯文本
const text = ocr.recognizeText(img);
log(text);

hamibot.exit();

ocr.recognize 与 ocr.recognizeText 的区别

函数返回值适用场景
ocr.recognize(img)结构化结果,包含每段文字的坐标、置信度需要知道文字在屏幕上的位置,配合坐标点击
ocr.recognizeText(img)纯文本字符串只需要知道屏幕上有哪些文字,做条件判断

配合坐标点击的进阶用法

ocr.recognize() 返回的结果里,每个文字块都有 bounds(矩形边界)。可以取中心点点击:

const img = captureScreen();
const results = ocr.recognize(img);
// 找到包含「确认」的那个文字块
for (const item of results) {
    if (item.text.includes('确认')) {
        const { centerX, centerY } = item.bounds;
        click(centerX, centerY);
        break;
    }
}

性能注意事项

OCR vs 文字控件选择器

如果目标界面有标准安卓控件并且文字可读,优先用 text() / textContains() 选择器,比 OCR 快且准确。OCR 适合以下场景: