python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > Python OCR文字识别API接入

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

作者:石榴树下的七彩鱼

本文介绍了Python调用OCR API进行文字识别的全过程,包括准备工作、API请求方式、Python接入示例、识别效果示例、常见优化技巧、在线体验与多语言文档等内容,帮助读者快速实现文字识别功能,需要的朋友可以参考下

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

一、准备工作

注册 OCR API 服务
我们以石榴智能OCR接入API为示例,注册后可获得 API KeySecret Key

安装 Python 依赖库

pip install requests pillow

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

二、API 请求方式简介

OCR API 通常需要发送以下参数:

示意请求格式:

请求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 错误码都需处理,保证程序稳定。

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

七、总结

本文介绍了 Python 调用 OCR API 的完整流程,包括:

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

以上就是使用Python接入OCR文字识别API的全教程的详细内容,更多关于Python OCR文字识别API接入的资料请关注脚本之家其它相关文章!

您可能感兴趣的文章:
阅读全文