【完整教程】天诺脚本如何调用 OCR 文字识别 API?自动识别屏幕文字实战(附代码)
在自动化脚本领域(尤其是天诺脚本用户),很多人都会遇到一个问题:
👉 脚本如何识别屏幕上的文字,而不是只靠找图/找色?
答案就是:
👉 OCR(文字识别)+ API 接口调用
本篇文章将带你从 0 到 1 实现:
-
天诺脚本调用 OCR 接口完整流程
-
截图 → 上传 → 识别 → 获取文字
-
可直接参考的示例代码
-
常见问题与优化方案
一、OCR 在天诺脚本中的作用
OCR(Optical Character Recognition)可以将图片中的文字转换为文本数据。
在天诺脚本中的典型应用:
-
自动识别游戏界面文字
-
自动判断任务状态(如"领取""完成")
-
自动化流程执行
-
数据采集与处理
👉 新手建议先看基础:《文字识别通用OCR接口调用与功能说明》
二、实现原理(核心流程)
天诺脚本调用 OCR API 的流程如下:
👉 标准步骤:
1️⃣ 截取屏幕图片
2️⃣ 保存为本地文件
3️⃣ 上传图片到 OCR API
4️⃣ 获取返回 JSON 数据
5️⃣ 提取识别结果
三、OCR API 接口说明
接口能力包括:
-
通用文字识别
-
多语言识别
-
自动纠偏
-
高精度识别
👉 支持免费在线体验,文档清晰,提供各种语言的API接入示例:https://market.shiliuai.com/general-ocr

👉 API 文档:

四、天诺脚本 OCR 实战步骤
1️⃣ 截图保存
// 截图保存到本地
capture("/sdcard/ocr.png", 0, 0, 720, 1280);
2️⃣ 调用 OCR API
// ===========================
// API文档:https://market.shiliuai.com/doc/advanced-general-ocr
// ===========================
public static string OCR_General_Easy(Image image, string appcode)
{
string url = "https://ocr-api.shiliuai.com/api/advanced_general_ocr/v1";
var headers = new Dictionary<string, string>
{
{"Authorization", "APPCODE " + appcode},
{"Content-Type", "application/json"}
};
string body = "{\"file_base64\":\"" + CustomHelp.ImageTobase64(image) + "\"}";
return CustomHelp.HttpPost(url, body, headers);
}
3️⃣ 输出返回结果
成功示例:
{
'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,则不返回该项
},
......
]
},
......,
]
}
4️⃣ 解析识别结果
var data = JSON.parse(result);
if (data.code === 200) {
var text = data.data.text;
log("识别内容:" + text);
} else {
log("识别失败");
}
五、完整示例代码(可直接参考)
// ===========================
// 天诺脚本 OCR 自动识别示例
// API文档:https://market.shiliuai.com/doc/advanced-general-ocr
// ===========================
var imgPath = "/sdcard/ocr.png";
var apiUrl = "https://你的域名/api/ocr/general";
public static string OCR_General_Easy(Image image, string appcode)
{
string url = "https://ocr-api.shiliuai.com/api/advanced_general_ocr/v1";
var headers = new Dictionary<string, string>
{
{"Authorization", "APPCODE " + appcode},
{"Content-Type", "application/json"}
};
string body = "{\"file_base64\":\"" + CustomHelp.ImageTobase64(image) + "\"}";
return CustomHelp.HttpPost(url, body, headers);
}
// 1. 截图
capture(imgPath, 0, 0, 720, 1280);
sleep(500);
// 2. 调用OCR接口
var result = OCR_General_Easy();
log("返回数据:" + result);
// 3. 解析JSON
var data = JSON.parse(result);
if (data.code === 200) {
var text = data.data.text;
log("识别结果:" + text);
} else {
log("识别失败");
}
六、常见问题(避坑指南)
❌ 1. 识别不准确?
原因:
-
截图模糊
-
分辨率低
-
图片内容复杂
👉 优化建议:
参考:《图片变清晰 API 实战》
❌ 2. 接口调用失败?
检查:
-
API地址是否正确
-
图片路径是否存在
-
网络是否正常
❌ 3. JSON解析报错?
👉 建议:
-
打印原始返回数据
-
检查返回格式
七、进阶玩法(提升效果)
🚀 玩法1:OCR + 去水印
👉 自动清理图片 → 再识别
参考:《图片去水印 API 实战》
🚀 玩法2:OCR + 高清化
👉 提高识别成功率
参考:《图片变清晰 API》
🚀 玩法3:自动化流程系统
👉 实现:
-
自动识别
-
自动点击
-
自动执行任务
八、总结
通过本文你已经掌握:
✅ 天诺脚本调用 OCR API 的完整流程
✅ 自动化识别屏幕文字实现方法
✅ 可直接参考的示例代码
📚 延伸阅读
🎯 最后总结
👉 在自动化脚本领域(天诺 / 按键精灵 / EasyClick),OCR 是实现"智能化"的关键能力。
👉 建议直接体验接口:https://market.shiliuai.com/doc/advanced-general-ocr
支持免费测试,提供完整的代码示例,几分钟即可完成接入。