当前位置: 代码网 > it编程>前端脚本>Python > 使用Python接入OCR文字识别API的全教程

使用Python接入OCR文字识别API的全教程

2026年04月16日 Python 我要评论
在开发过程中,我们经常需要对图片进行文字识别,例如身份证识别、发票识别、文档扫描等场景。使用 ocr(optical character recognition,光学字符识别)api 可以快速实现这些

在开发过程中,我们经常需要对图片进行文字识别,例如身份证识别、发票识别、文档扫描等场景。使用 ocr(optical character recognition,光学字符识别)api 可以快速实现这些功能。本文将以 python 为例,带你完成 ocr 文字识别 api 接入全过程,并提供在线体验和实用优化建议。

一、准备工作

注册 ocr api 服务
我们以石榴智能ocr接入api为示例,注册后可获得 api keysecret key

安装 python 依赖库

pip install requests pillow
  • requests:用于发送 http 请求
  • pillow:用于图片处理,可选

准备测试图片
图片可以是身份证、票据、文档扫描件等。

二、api 请求方式简介

ocr api 通常需要发送以下参数:

  • image:图片 base64 编码或 url
  • type:识别类型(如 id_cardinvoicegeneral
  • language:可选,多语言识别

示意请求格式:

请求url:

post http(s)://ocr-api.shiliuai.com/api/advanced_general_ocr/v1

请求方式:

请求头

参数类型说明
authorizationstring'appcode ' + 您的appcode
content-typestringapplication/json

请求体

参数是否必填类型说明
image_base64选填string图片base64;与image_url二选一;像素[15,8192];小于20m
image_url选填string图片url;与image_base64二选一;像素[15,8192];小于20m
is_line选填bool是否为单行文字,默认false

返回信息:

返回结构

参数名类型说明
codeint错误码
msgstring错误信息(英文)
msg_cnstring错误信息(中文)
successbool识别是否成功
image_idstring请求图片id
request_idstring唯一请求id
datadata具体看下面

以下是返回示例

data 成功示例:
data = {
       "content":
       [
              {
                     "text": "你好", // string, 文字内容
                     "prob": 0.995, // float, [0, 1], 文字内容置信度
                     "keypoints": [ // list, 文字区域四个角的位置,以文字的左上角为起点,按顺时针顺序排列,单行文字没有此项
                            {"x":50, "y":20},
                            {"x":150, "y":20},
                            {"x":150, "y":60},
                            {"x":50, "y":60}
                            ]
              },
              ......
       ]
}
data 失败示例:
data = {}

三、python 接入示例

# api文档:https://market.shiliuai.com/doc/advanced-general-ocr
# -*- coding: utf-8 -*-
import requests
import base64
import json

# 请求接口
url = "https://ocr-api.shiliuai.com/api/general_ocr/v1"

# 图片转base64
def get_base64(file_path):
    with open(file_path, 'rb') as f:
        data = f.read()
    b64 = base64.b64encode(data).decode('utf8')
    return b64


def demo(appcode, file_path):
    # 请求头
    headers = {
        'authorization': 'appcode %s' % appcode,
        'content-type': 'application/json'
    }
    # 请求体
    b64 = get_base64(file_path)
    data = {"image_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)

四、识别效果示例

五、常见优化技巧

清晰图片优先
模糊、倾斜、反光的图片识别率低,建议先做简单预处理。

裁剪或分区识别
对身份证、发票等图片按区域识别,可提高精度。

批量或异步处理
对多张图片,可使用队列或多线程异步调用 api。

错误处理
网络异常、识别失败或 api 错误码都需处理,保证程序稳定。

六、在线体验与多语言文档

  • 在线体验:https://market.shiliuai.com/general-ocr
  • 文档支持 python、java、php、c# 等多语言示例
  • 提供身份证识别、发票识别、通用文字识别等多种接口

七、总结

本文介绍了 python 调用 ocr api 的完整流程,包括:

  • 注册 api 并获取密钥
  • python 依赖安装及图片准备
  • api 请求示例及识别结果处理
  • 图片优化和错误处理技巧
  • 在线体验与文档参考

通过 ocr api,你可以快速将文字识别能力集成到网站、桌面应用或移动端应用中,实现身份证识别、票据识别、文档扫描等多场景需求。

以上就是使用python接入ocr文字识别api的全教程的详细内容,更多关于python ocr文字识别api接入的资料请关注代码网其它相关文章!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2026  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com