截图文字识别 API 实战:3 行代码实现屏幕文字一键提取(附 Python / 易语言 / 懒人精灵示例)
截图文字识别 API 实战:3 行代码实现屏幕文字一键提取(附 Python / 易语言 / 懒人精灵示例)
遇到网页不让复制?截图上的文字想提取出来编辑?聊天记录、软件界面、文档截图里的文字怎么快速转成可编辑文本?本文手把手教你用 OCR API 实现截图文字一键识别,支持 Python、易语言、懒人精灵等多种语言,3 行代码搞定屏幕文字提取。
一、截图文字识别:人人都需要的“复制神器”
在日常工作和开发中,我们经常遇到这样的场景:
-
网页或软件界面文字无法复制:想复制一段提示信息、错误日志,却只能一个字一个字手打。
-
聊天截图里的文字:对方发来一张聊天记录截图,你需要提取其中的关键信息。
-
游戏或软件界面文字提取:做自动化脚本时,需要识别屏幕上的文字内容。
-
文档扫描件或 PDF 截图:扫描件里的文字无法直接复制粘贴。
这时候,截图文字识别(OCR)就能派上用场——只要把截图传给 OCR API,几毫秒内就能把图片里的文字提取成可编辑文本。
截图 OCR 的核心价值在于:把“不能复制”变成“一键提取”。
二、截图文字识别的三种实现方案对比
实现截图文字识别,主要有三种方案:
| 方案 | 优点 | 缺点 | 适用场景 |
|---|---|---|---|
| 本地 Tesseract | 免费、可离线 | 中文字库依赖、识别率较低、环境配置复杂 | 对准确率要求不高的离线场景 |
| 大漠插件找字 | 识别速度快 | 需要做字库、通用性差 | 游戏脚本等特定场景 |
| OCR API | ✅易接入、✅识别率99%以上、✅毫秒级响应、✅支持批量处理 | 需要联网、需付费(有免费额度) | 绝大多数开发场景 |
对于大多数开发者来说,OCR API 是性价比最高、落地最快的方案。
💡 选型建议:如果只是偶尔识别几张截图,用在线 OCR 工具就够了;如果要做批量处理、嵌入到自己的软件或脚本中,建议直接接入 OCR API。
三、石榴智能通用 OCR:截图文字识别的最佳选择
石榴智能通用 OCR 识别服务采用深度学习算法,印刷体识别准确率高达 99%,支持多种字体和语言:
-
字体类型:印刷体、手写体、艺术字
-
支持语言:简体中文、英文、繁体中文、日文
-
文件格式:JPG、JPEG、PNG、BMP、TIFF 等常见图片格式
-
自动校正:自动图像方向校正,支持横向文本和竖直文本
-
响应速度:毫秒级响应,支持高并发

👉 支持免费在线体验,注册API账号送免费测试积分
👉 API文档清晰,提供多种接入语言示例(如python、js、C#、java、php等),以及自动化脚本语言(如天诺、懒人精灵、按键精灵、易语言、EasyClick、触动精灵等)👉免费在线体验:https://market.shiliuai.com/tools/ocr/general-text
👉API文档完整开发文档和代码示例:https://market.shiliuai.com/doc/advanced-general-ocr
四、Python 接入:3 行代码实现截图文字识别
4.1 准备工作
首先注册石榴智能账号获取 API 凭证:
-
访问 石榴智能API市场 注册账号
-
在后台获取 AppCode(API 调用凭证)
-
首次注册通常赠送免费测试额度,可以先验证效果再决定是否付费
安装 Python 依赖:
pip install requests pillow
4.2 完整代码示例
# ==============================================================================
# 免费在线体验:https://market.shiliuai.com/tools/ocr/general-text
# API文档完整开发文档和代码示例:https://market.shiliuai.com/doc/advanced-general-ocr
# 支持免费在线体验
# API文档清晰,提供多种接入语言示例(如python、js、C#、java、php等),以及自动化脚本语言(如天诺、懒人精灵、按键精灵、易语言、EasyClick、触动精灵等)
# ==============================================================================
# -*- coding: utf-8 -*-
import requests
import base64
import json
# 请求接口
URL = "https://ocr-api.shiliuai.com/api/advanced_general_ocr/v1"
# 图片/pdf文件转base64
def get_base64(file_path):
with open(file_path, "rb") as f:
data = f.read()
return base64.b64encode(data).decode("utf8")
def demo(appcode, file_path):
# 请求头
headers = {
"Authorization": "APPCODE %s" % appcode,
"Content-Type": "application/json"
}
# 请求体
b64 = get_base64(file_path)
data = {"file_base64": b64}
# 请求
response = requests.post(url=URL, headers=headers, json=data)
content = json.loads(response.content)
print(content)
if __name__ == "__main__":
appcode = "你的APPCODE"
file_path = "本地文件路径"
demo(appcode, file_path)
4.3 返回结果解析
API 返回的 JSON 结构如下:
成功示例:
{
'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.4 进阶:从剪贴板直接识别截图
如果想把“截图 → 保存文件 → 调用 API”简化成“截图 → 直接识别”,可以结合 PIL 和 pyperclip:
from PIL import ImageGrab
import io
def ocr_from_clipboard():
"""从剪贴板读取截图并识别"""
# 获取剪贴板图片
img = ImageGrab.grabclipboard()
if img is None:
return "剪贴板中没有图片"
# 转为 Base64
buffer = io.BytesIO()
img.save(buffer, format='PNG')
img_base64 = base64.b64encode(buffer.getvalue()).decode('utf8')
# 调用 API
url = "https://ocr-api.shiliuai.com/api/general_ocr/v1"
headers = {'Authorization': f'APPCODE {APPCODE}', 'Content-Type': 'application/json'}
payload = {'image_base64': img_base64}
response = requests.post(url, headers=headers, json=payload)
result = response.json()
# 提取所有文字
texts = []
for item in result.get('data', {}).get('content', []):
texts.append(item.get('text', ''))
return '\n'.join(texts)
# 使用:先截图(Ctrl+Shift+S 或截图工具),然后运行
print(ocr_from_clipboard())
这样,只需按一下截图快捷键 + 运行脚本,屏幕上的文字就全部提取出来了。
五、多语言支持:易语言 / 懒人精灵 / 按键精灵
石榴智能 OCR API 不仅支持 Python,还提供了丰富的多语言示例:
5.1 易语言调用 OCR API
易语言开发者可以用精易模块快速接入:
易语言
// ==============================================================================
// 免费在线体验:https://market.shiliuai.com/tools/ocr/general-text
// API文档完整开发文档和代码示例:https://market.shiliuai.com/doc/advanced-general-ocr
// 支持免费在线体验
// API文档清晰,提供多种接入语言示例(如python、js、C#、java、php等),以及自动化脚本语言(如天诺、懒人精灵、按键精灵、易语言、EasyClick、触动精灵等)
// ==============================================================================
版本 2
.支持库 spec
.支持库 dp1
.子程序 通用OCR_简单认证
.局部变量 局_网址, 文本型
.局部变量 局_提交数据, 文本型
.局部变量 局_提交协议头, 文本型
.局部变量 局_结果, 字节集
.局部变量 局_返回, 文本型
.局部变量 图片数据, 字节集
.局部变量 base64图片, 文本型
图片数据 = 读入文件 ("你的文件路径")
base64图片 = 编码_BASE64编码 (图片数据)
局_提交数据 = "{" + #引号 + "file_base64" + #引号 + ":" + #引号 + base64图片 + #引号 + "}"
局_网址 = "https://ocr-api.shiliuai.com/api/advanced_general_ocr/v1"
局_提交协议头 = "Authorization: APPCODE 你的AppCode" + #换行符 + "Content-Type: application/json"
局_结果 = 网页_访问_对象 (局_网址, 1, 局_提交数据, , , 局_提交协议头, , , , , , , , , , , , , )
局_返回 = 到文本 (编码_编码转换对象 (局_结果, , , ))
返回 (局_返回)
💡 做一个截图 OCR 工具,按一个键就识别屏幕上的文字——这正是易语言开发者的常见需求。
5.2 懒人精灵调用 OCR API
懒人精灵是一款免 Root、免越狱的移动端自动化脚本工具。在懒人精灵中实现截图 OCR 的 4 个步骤:
-
截图:调用截屏 API 获取屏幕截图
-
Base64 编码:将图片转为 Base64 传输编码
-
发起 HTTP 请求:将参数发送至 OCR 接口
-
解析返回数据:提取识别到的文字
// ==============================================================================
// 免费在线体验:https://market.shiliuai.com/tools/ocr/general-text
// API文档完整开发文档和代码示例:https://market.shiliuai.com/doc/advanced-general-ocr
// 支持免费在线体验
// API文档清晰,提供多种接入语言示例(如python、js、C#、java、php等),以及自动化脚本语言(如天诺、懒人精灵、按键精灵、易语言、EasyClick、触动精灵等)
// ==============================================================================
function ocr_easy(appcode, imagePath)
local url = "https://ocr-api.shiliuai.com/api/advanced_general_ocr/v1"
local body = jsonLib.encode({ file_base64 = getFileBase64(imagePath) })
local headers = {}
headers["Authorization"] = "APPCODE " .. appcode
headers["Content-Type"] = "application/json"
local resp = httpPost(url, body, { headers = headers })
return jsonLib.decode(resp)
end
📘 支持免费在线体验,注册API账号送免费测试积分
📘API文档清晰,提供多种接入语言示例(如python、js、C#、java、php等),以及自动化脚本语言(如天诺、懒人精灵、按键精灵、易语言、EasyClick、触动精灵等)📘API文档完整开发文档和代码示例:https://market.shiliuai.com/doc/advanced-general-ocr
六、截图文字识别的实战场景
场景一:自动化脚本中的屏幕文字提取
在 RPA(机器人流程自动化)或游戏脚本中,经常需要读取屏幕上的文字来做决策。通过 OCR API,脚本可以“看懂”屏幕内容,实现真正的智能化操作。
场景二:聊天截图文字提取
用户上传聊天截图、网页截图,通过 OCR 提取可复制文本,用于内容审核、信息归档等场景。
场景三:软件界面文字采集
采集软件界面中的文本信息(如错误日志、配置信息),用于自动化测试或数据采集。
场景四:批量处理文件夹截图
import os
def batch_ocr(folder_path):
"""批量识别文件夹中的所有图片"""
results = {}
for filename in os.listdir(folder_path):
if filename.lower().endswith(('.png', '.jpg', '.jpeg', '.bmp')):
filepath = os.path.join(folder_path, filename)
result = screenshot_ocr(filepath)
texts = [item['text'] for item in result.get('data', {}).get('content', [])]
results[filename] = '\n'.join(texts)
return results
七、常见问题与优化建议
Q1:截图模糊或倾斜怎么办?
石榴智能通用 OCR 支持自动图像方向校正,会自动处理倾斜问题。如果图片质量太差,建议先使用图片变清晰 API 进行预处理。
Q2:识别速度有多快?
毫秒级响应,单张图片通常在 500ms 以内返回结果。
Q3:支持哪些图片格式?
支持 JPG、JPEG、PNG、BMP、TIFF 等常见格式,建议图片大小在 1-5MB 之间。
Q4:免费额度有多少?
注册后赠送免费测试额度,可以先在线体验效果再决定是否接入。
Q5:可以识别手写文字吗?
石榴智能通用 OCR 支持手写体识别,准确率同样出色。
八、总结
截图文字识别是一个高频刚需场景——无论是开发者做自动化工具,还是普通用户想提取截图中的文字,OCR API 都是最高效的解决方案。
石榴智能通用 OCR 的核心优势:
-
✅ 高精度:深度学习算法,印刷体识别准确率高达 99%
-
✅ 多场景:印刷体、手写体、艺术字全面支持
-
✅ 多语言:简体中文、英文、繁体中文、日文
-
✅ 快响应:毫秒级返回,支持高并发
-
✅ 低成本:¥0.005/次起,注册即送免费额度,支持免费在线测试效果
3 行代码,让截图里的文字“活”起来。
立即体验石榴智能截图文字识别
🆓 在线免费工具(无需代码,上传即识别)
📘 完整开发文档:API文档清晰,提供多种接入语言示例(如python、js、C#、java、php等),以及自动化脚本语言(如天诺、懒人精灵、按键精灵、易语言、EasyClick、触动精灵等)
💰 注册领取免费测试额度
相关阅读推荐
#截图OCR #文字识别 #OCR API #屏幕文字提取 #Python教程 #易语言 #懒人精灵 #石榴智能
更多推荐

所有评论(0)