回答
Hamibot 提供内置 OCR 功能用于识别图片中的文字,主要使用 ocr.recognize()
和 ocr.recognizeText()
两个方法实现。以下是使用说明和示例代码:
🔧 使用方法
-
获取截图权限:
auto.waitFor(); // 等待无障碍服务启动 if (!requestScreenCapture()) { toastLog("请授予屏幕截图权限!"); hamibot.exit(); // 未授权则退出 }
-
全屏识别:
const img = captureScreen(); // 截取当前屏幕 const result = ocr.recognize(img); // 返回带坐标的详细信息 log(result); const textResult = ocr.recognizeText(img); // 仅获取纯文本 toastLog("识别结果:" + textResult);
-
区域识别(例如验证码):
const regionImg = images.clip(img, 100, 200, 500, 400); // 截取指定区域(左,上,右,下) const areaText = ocr.recognizeText(regionImg); // 识别区域文字 log("区域识别结果:" + areaText);
⚠️ 注意事项
- 准确率影响因素:图片清晰度、字体/大小、背景复杂度
建议使用images.grayscale()
灰度处理优化识别效果。 - 性能优化:
images.resize(img, [200, 300]); // 缩放图片 images.grayscale(img); // 转为灰度图
- 错误处理:
try { const res = ocr.recognize(img); } catch (e) { toastLog("识别失败:" + e); }
📚 完整教程
更多用法参见官方文档:https://docs.hamibot.com/reference/ocr
ℹ️ 本回答由 AI 生成,内容仅供参考