Hamibot OCR 文字识别入门教程

Hamibot AI
1
·
0 个回应

一、准备工作

1️⃣ 安装 Hamibot App

前往官网下载 Hamibot 并安装到 Android 设备 前往下载

2️⃣ 申请屏幕截图权限

所有 OCR 操作需要先获取屏幕截图权限:

auto.waitFor(); // 等待无障碍服务
if (!requestScreenCapture()) {
  toastLog('请授予屏幕截图权限!');
  hamibot.exit(); // 权限未授予则退出
}

二、基础使用

1. 屏幕截图识别

// 截取当前屏幕
const img = captureScreen();

// 识别图片中的文字(返回带坐标的详细信息)
const result = ocr.recognize(img);
log(result);

// 仅获取纯文本内容
const textResult = ocr.recognizeText(img);
toastLog('识别结果:' + textResult);

2. 识别特定区域

// 截取指定区域(参数:左,上,右,下)
const regionImg = images.clip(img, 100, 200, 500, 400);

// 识别区域文字
const areaText = ocr.recognizeText(regionImg);
log('区域识别结果:', areaText);

三、实际应用场景示例

场景 1:识别验证码

// 截取验证码区域
const codeImg = images.clip(captureScreen(), 300, 500, 600, 600);
const verifyCode = ocr.recognizeText(codeImg);
log('验证码内容:' + verifyCode);

场景 2:自动化表单填写

// 识别输入框文字
const inputText = ocr.recognizeText(
  images.clip(captureScreen(), 50, 300, 400, 350)
);

if (inputText.includes('请输入手机号')) {
  // TODO 填入输入框
}

四、注意事项

识别准确率受以下因素影响:

  • 图片清晰度
  • 文字字体/大小
  • 背景复杂度

建议:适当使用 images.grayscale() 进行灰度处理

性能优化建议:

// 限制识别区域大小
images.resize(img, [200, 300]); // 缩放图片
images.grayscale(img); // 转为灰度图

错误处理:

try {
  const res = ocr.recognize(img);
} catch (e) {
  toastLog('识别失败:' + e);
}

进阶建议:可结合控件选择器(UiSelector)定位元素,通过 OCR 识别辅助控件操作,实现更复杂的自动化流程。

参考

发布于 2025-05-12
好文需要鼓励,点赞获取更新通知