截图文字识别 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 凭证:

  1. 访问 石榴智能API市场 注册账号

  2. 在后台获取 AppCode(API 调用凭证)

  3. 首次注册通常赠送免费测试额度,可以先验证效果再决定是否付费

安装 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 个步骤:

  1. 截图:调用截屏 API 获取屏幕截图

  2. Base64 编码:将图片转为 Base64 传输编码

  3. 发起 HTTP 请求:将参数发送至 OCR 接口

  4. 解析返回数据:提取识别到的文字

// ==============================================================================
// 免费在线体验: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教程 #易语言 #懒人精灵 #石榴智能

更多推荐