【保姆级教程】按键精灵调用 OCR 文字识别 API(从0到1完整实战 + 可运行脚本)

在做自动化脚本(如挂机、数据采集、批量处理)时,经常会遇到一个问题:

👉 如何让按键精灵"看懂屏幕上的文字"?

答案就是:OCR 文字识别 + API 接口调用

本篇文章将手把手教你:

  • 按键精灵如何调用 OCR 接口

  • 从截图 → 识别 → 获取文字完整流程

  • 可直接运行的脚本示例

  • 常见问题与优化方案


一、什么是 OCR?为什么按键精灵需要它?

OCR(Optical Character Recognition)是将图片中的文字提取为可编辑文本的技术。

在按键精灵中的典型用途:

  • 自动识别游戏文字(任务 / 状态)

  • 自动读取软件界面信息

  • 批量识别截图内容

  • 自动化数据采集(电商 / 表单)

👉 如果你还不了解 OCR 基础,建议先看:
《文字识别通用OCR接口调用与功能说明》https://blog.csdn.net/weixin_40809967/article/details/159715814?spm=1011.2415.3001.10575&sharefrom=mp_manage_link


二、实现思路

按键精灵实现 OCR 的流程如下:

👉 核心流程:

1️⃣ 截取屏幕图片

2️⃣ 转换为 Base64

3️⃣ 调用 OCR API

4️⃣ 获取返回结果(JSON)

5️⃣ 提取识别文本


三、OCR API 接口说明

接口支持:

  • 通用文字识别

  • 多语言识别

  • 图片自动纠偏

  • 高精度识别

👉 支持免费在线体验,API文档清晰,有各语言的示例代码:

https://market.shiliuai.com/general-ocr


四、按键精灵调用 OCR API 实战


1️⃣ 截图保存

复制代码
' 截图保存到本地
Capture 0, 0, 800, 600, "C:\ocr.png"

2️⃣ 图片转 Base64(核心)

按键精灵本身不支持,需要借助组件或调用接口上传图片

👉 推荐方式(简单稳定):

直接上传图片(无需Base64)


3️⃣ HTTP 请求调用 OCR API

复制代码
' ===========================
' API接入文档:https://market.shiliuai.com/doc/advanced-general-ocr
' ===========================


Import "Encrypt.dll"
VBSBegin
Function Base64Encode(filePath)
    Set inStream = CreateObject("ADODB.Stream")
    inStream.Type = 1
    inStream.Open
    inStream.LoadFromFile filePath
    inStream.Position = 0
    Set dom = CreateObject("MSXML2.DOMDocument")
    Set elem = dom.createElement("tmp")
    elem.dataType = "bin.base64"
    elem.nodeTypedValue = inStream.Read
    Base64Encode = elem.Text
    inStream.Close
End Function

Function ocr_easy(appcode, imgPath)
    url = "https://ocr-api.shiliuai.com/api/advanced_general_ocr/v1"
    jsonBody = "{\"file_base64\":\"" & Base64Encode(imgPath) & "\"}"
    Set http = CreateObject("MSXML2.XMLHTTP")
    http.Open "POST", url, False
    http.setRequestHeader "Authorization", "APPCODE " & appcode
    http.setRequestHeader "Content-Type", "application/json"
    http.send jsonBody
    ocr_easy = http.responseText
End Function
VBSEnd

appcode = "你的APPCODE"
res = ocr_easy(appcode, "你的文件路径")
TracePrint res

4️⃣ 返回结果示例

复制代码
' ===========================
' API接入文档:https://market.shiliuai.com/doc/advanced-general-ocr
' ===========================


成功示例:
{
    'code': 200,
    'msg': 'OK',
    'msg_cn': '成功',
    'success': True,
    'file_id': file id,
    'request_id': request id,
    'data': data, 具体看下面
}
 data = {
        "page_count": 5, // int, 文件页面总数 
        "process_pages": 3, // int, 处理页面数 
        "status": 2, // int, 处理状态,0: 已加入队列, 1: 正在处理中, 2: 已完成,同步时此值为2 
        "wait_time": 0.0 // float, 大概还需等待时间,同步时此值为0 
        // 如果status==2: 
            "pages": [ 
               { 
                      "width": 2000, // int, 页面宽度 
                      "height": 2500, // int, 页面高度 
                      "prob_mean": 0.98, // float, [0, 1], 页面文字置信度平均值,若is_line,则不返回该项 
                      "prob_std": 0.11, // float, 页面文字置信度标准差,若is_line,则不返回该项 
                      "lines": [ 
                         { 
                             "text": "你好", // string, 文字内容 
                             "prob": 0.995, // float, [0, 1], 文字内容置信度 
                              "keypoints": [[50, 20], [150, 20], [150, 60], [50, 60]] // list, [[xi, yi]], 文字区域角点位置,以左上角为起点,按顺时针排列;若is_line,则不返回该项 
                         }, 
                         ...... 
                      ] 
               }, 
               ......, 
        ] 
 }

5️⃣ 提取识别内容

复制代码
Dim text

text = JSON取值(result, "data.text")

TracePrint "识别结果:" & text

五、完整脚本示例

复制代码
' ===========================
' 按键精灵 OCR 自动识别示例
' API文档:https://market.shiliuai.com/doc/advanced-general-ocr
' ===========================

Dim imgPath, apiUrl, result, text

imgPath = "C:\ocr.png"
apiUrl = "https://ocr-api.shiliuai.com/api/advanced_general_ocr/v1"

' 1. 截图
Capture 0, 0, 800, 600, imgPath

Delay 500

' 2. 调用OCR接口
result = HttpPost(apiUrl, "file=@" & imgPath)

' 3. 输出返回结果
TracePrint result

' 4. 提取识别文字
text = JSON取值(result, "data.text")

TracePrint "识别内容:" & text

六、常见问题(一定要看)


❌ 1. 识别不准?

原因:

  • 图片模糊

  • 分辨率低

  • 截图区域不准确

👉 解决方案:

结合这篇优化:《图片变清晰 API 实战》


❌ 2. 返回为空?

  • 图片未成功上传

  • 接口参数错误


❌ 3. 中文乱码?

👉 确保:

  • 返回编码为 UTF-8

  • 按键精灵解析方式正确


七、进阶玩法

你可以把 OCR + 你现有API组合起来👇


🚀 玩法1:OCR + 去水印

👉 自动处理图片 → 再识别文字

参考:《图片去水印 API 实战》


🚀 玩法2:OCR + 高清化

👉 模糊截图 → 提高清晰度 → 再识别

参考:《图片变清晰 API》


🚀 玩法3:自动化脚本系统

👉 实现:

  • 自动识别

  • 自动点击

  • 自动执行任务


八、总结

通过本文你已经掌握:

✅ 按键精灵调用 OCR API 完整流程

✅ 截图 → 上传 → 识别 → 获取结果

✅ 可直接运行的脚本示例


📚 延伸阅读


🎯 最后

👉 如果你正在做自动化项目(按键精灵 / RPA / 脚本),OCR API 是必不可少的一环。

👉 建议直接去体验:石榴智能的文字识别API接口,支持免费测试,接入简单,几分钟即可跑通。

相关推荐
西凉的悲伤2 小时前
Guava类库——Lists.partition() 高效分批处理列表数据
java·guava
海兰2 小时前
【实战】MemPalace 完整安装与使用指南
人工智能·openclaw
CoderJia程序员甲2 小时前
GitHub 热榜项目 - 日榜(2026-04-10)
人工智能·ai·大模型·github·ai教程
Daydream.V2 小时前
语言转换方法——CBOW
人工智能·语言模型·word2vec·词向量·cbow·神经语言模型
brahmsjiang2 小时前
Java类加载机制解析:从JVM启动到双亲委派,再到Android的特殊实现
android·java·jvm
yaaakaaang2 小时前
十一、享元模式
java·享元模式
zhangshuang-peta2 小时前
MCP 的渐进式披露
人工智能·ai agent·mcp·peta
卓怡学长2 小时前
基于 SpringBoot 的生活信息分享平台,从 0 到 1 完整实现(附源码 + 数据库)
java·数据库·spring boot·tomcat·maven
xdl25992 小时前
CSS flex 布局中没有 justify-items
前端·css