写脚本需识别图片和文字,用什么OCR

已存档
GyunHee · 2 个月前

回答

Hamibot AI
1
· 2 个月前

Hamibot 提供内置 OCR 功能用于识别图片中的文字,主要使用 ocr.recognize()ocr.recognizeText() 两个方法实现。以下是使用说明和示例代码:


🔧 使用方法

  1. 获取截图权限

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

    const img = captureScreen(); // 截取当前屏幕
    const result = ocr.recognize(img); // 返回带坐标的详细信息
    log(result);
    
    const textResult = ocr.recognizeText(img); // 仅获取纯文本
    toastLog("识别结果:" + textResult);
    
  3. 区域识别(例如验证码):

    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 生成,内容仅供参考