一、概述
百度OCR文字识别接口是一种基于深度学习技术的图片文字识别服务,能够在秒级别完成对各种场景、各种印刷体、手写体的文字识别任务。它支持多种API传输方式,包括HTTP/HTTPS协议、POST/GET等方式,并且提供多种语言的SDK。
二、接口调用
调用百度OCR文字识别接口非常简单,只需完成以下几个步骤:
1、在百度AI平台中创建应用,获取API Key和Secret Key;
2、通过HTTP/HTTPS协议发送请求,携带API Key、Secret Key和图片二进制数据或者图片URL;
3、解析响应报文,获取识别结果。
以下为通过Python SDK调用通用文字识别API的示例代码:
from aip import AipOcr # 以下三项信息由创建应用时自动生成 APP_ID = 'your_app_id' API_KEY = 'your_api_key' SECRET_KEY = 'your_secret_key' # 创建AipOcr客户端 client = AipOcr(APP_ID, API_KEY, SECRET_KEY) # 读取本地图片文件 with open('example.png', 'rb') as fp: image = fp.read() # 调用通用文字识别接口 result = client.basicGeneral(image) # 输出识别结果 print(result)
三、接口参数
百度OCR文字识别接口提供多种参数,能够满足不同的识别需求。以下为常用参数的说明:
1、image:原始图像二进制数据或者图像URL(使用URL时需确保可公网访问);
2、language_type:识别语言类型,默认为CHN_ENG(中英文混合);
3、detect_direction:是否检测图像朝向,默认为false;
4、detect_language:是否检测语言,默认为false;
5、probability:是否返回识别结果中每一行的置信度,默认为false。
以下为Python SDK中设置参数的示例代码:
# 调用通用文字识别接口,增加detect_direction参数 result = client.basicGeneral(image, {"detect_direction": "true"}) # 调用表格文字识别接口,增加language_type和probability参数 result = client.form(image, {"language_type": "JAP", "probability": "true"})
四、接口返回值
百度OCR文字识别接口的返回值为JSON格式,其中包含了识别结果、识别时间等信息。以下是通用文字识别接口返回值的示例:
{ "log_id": 30791757289303, "words_result_num": 3, "words_result": [ {"words": "百度AI平台"}, {"words": "www.ai.baidu.com"}, {"words": "全球领先的AI开放平台"} ], "language": 0 }
五、接口应用场景
百度OCR文字识别接口能够广泛应用于身份证、银行卡、车牌、票据、营业执照、表格等各种场景的数据获取和识别。以下为部分应用场景的示例:
1、身份证识别
身份证包含姓名、证件号码、出生日期等信息,通过OCR技术可以轻松提取这些信息,并且能够智能识别身份证上面的正反面;
2、表格识别
表格作为一种常见的文档形式,它的数据处理一般耗费人力物力。通过OCR技术,可以将表格中的文字识别出来,并且还可以提取表格中的各种信息,为表格数据处理提供便利;
3、票据识别
票据是尤其适合OCR技术应用的场景,通过文字识别,可自动获得各种票据上面的信息,减轻工作负担。例如,可以用OCR来读取快递运单号码;
4、车牌识别
OCR技术可以自动识别车牌号码,提高车辆管理效率;
5、银行卡识别
OCR技术可以识别银行卡号和发卡行等信息,提高银行系统的自动化程度。