【百度AI】百度AI文字识别概述

00. 目录

在这里插入图片描述

01. OCR接口能力

接口名称 接口能力简要描述
通用场景文字识别 对各类通用场景、文件的识别接口,按行返回识别结果
通用文字识别(标准版) 识别图片中的文字信息
通用文字识别(高精度版) 更高精度地识别图片中的文字信息
通用文字识别(标准含位置版) 识别图片中的文字信息(包含文字区域的坐标信息)
通用文字识别(高精度含位置版) 更高精度地识别图片中的文字信息(包含文字区域的坐标信息)
网络图片文字识别 针对网络图片进行专项优化,对艺术字体或背景复杂的文字内容具有更优的识别效果
办公文档识别 可对办公类文档的版面进行分析,输出图、表、标题、文本、目录、栏、页眉、页脚、页码和脚注的位置,并输出分版块内容的OCR识别结果
数字识别 识别图片中的数字,适用于手机号提取、快递单号提取、充值号码提取等场景
手写文字识别 对手写汉字或手写数字进行识别
表格文字识别V2 支持识别图片/PDF格式文档中的表格内容,返回各表格的表头表尾内容、单元格文字内容及其行列位置信息,全面覆盖各类表格样式,包括常规有线表格、无线表格、含合并单元格表格。同时,支持多表格内容识别。
表格文字识别(异步接口) (此能力为旧版服务,后续不再进行升级,建议新使用效果及性能更优的 表格文字识别V2)对单据或报表中的表格内容进行结构化识别,并以JSON或Excel形式返回
表格文字识别(同步接口) (此能力为旧版服务,后续不再进行升级,建议新使用效果及性能更优的 表格文字识别V2)对单据或报表中的表格内容进行结构化识别,并能实时返回请求结果
二维码识别 对二维码、条形码中对应的文字内容进行识别
印章检测 检测并识别合同文件或常用票据中的印章,输出文字内容、印章位置信息以及相关置信度,已支持圆形章、椭圆形章、方形章等常见印章检测与识别
卡证文字识别 对各类卡片、证照进行结构化识别,按字段返回识别结果
身份证识别 对二代居民身份证正反面所有8个字段进行结构化识别
身份证混贴识别 支持自动检测与识别二代居民身份证正反面在同一张图片上的场景,对身份证正反面所有8个字段进行结构化识别
身份证识别(加密版) 支持对身份证图片及识别结果进行信息传输加密,对二代居民身份证正反面所有8个字段进行结构化识别
银行卡识别 对银行卡的卡号、有效期、发卡行、卡片类型、持卡人进行结构化识别
营业执照识别 可结构化识别各类版式的营业执照,返回证件编号、社会信用代码、单位名称、地址、法人、类型、成立日期、有效日期、经营范围等关键字段信息
护照识别 支持对中国大陆居民护照的资料页进行结构化识别,包含国家码、姓名、性别、护照号、出生日期、签发日期、有效期至、签发地点
社保卡识别 支持识别全国各地社保卡,支持识别社会保障卡号、姓名、性别、出生日期、银行卡号、有效期限等8个字段
港澳通行证识别 对港澳通行证证号、姓名、姓名拼音、性别、有效期限、签发地点、出生日期字段进行识别
台湾通行证识别 对台湾通行证证号、签发地、出生日期、姓名、姓名拼音、性别、有效期字段进行识别
户口本识别 对出生地、出生日期、姓名、民族、与户主关系、性别、身份证号码字段进行识别
名片识别 提供对各类名片的结构化识别功能,提取姓名、邮编、邮箱、电话、网址、地址、手机号字段
出生医学证明识别 对出生时间、姓名、性别、出生证编号、父亲姓名、母亲姓名字段进行识别
多卡证类别检测 【请点击申请邀测提交需求申请开通该接口使用权限】对同一张图片中的多种卡证进行类别检测和定位,支持身份证正反面、行驶证正副页、驾驶证正副页、银行卡、营业执照5类常见卡证、8种版式
交通场景文字识别 针对汽车相关场景的各类证件、票据结构化识别
车牌识别 对机动车蓝牌、绿牌、单/双行黄牌的车牌号码进行识别,并能同时识别图像中的多张车牌
VIN码识别 对车辆车架、挡风玻璃上的VIN码进行识别
驾驶证识别 对机动车驾驶证正本所有10个字段进行结构化识别
行驶证识别 对机动车行驶证主页及副页所有22个字段进行结构化识别
车辆证照混贴识别 对机动车行驶证主页及副页、驾驶证主页及副页在同一张图片上的场景进行结构化识别
机动车销售发票识别 对机动车销售发票的号码、代码、日期、价税合计等26个关键字段进行结构化识别
车辆合格证识别 对车辆合格证的编号、车架号、排放标准、发动机编号等23个关键字段进行结构化识别
二手车销售发票识别 对二手车销售发票的号码、代码、日期、买方、卖方、车牌号、车辆类型、二手车市场等25个关键字段进行结构化识别
机动车登记证书识别 对机动车登记证书的编号、机动车所有人、登记机关、车辆类型、发证机关章等15个关键字段进行结构化识别
磅单识别 结构化识别磅单的车牌号、打印时间、毛重、皮重、净重、发货单位、收货单位、单号8个关键字段,现阶段仅支持识别印刷体磅单
快递面单识别 支持市面上常见版式的快递面单识别,包括申通/圆通/中通/百世汇通/韵达/顺丰/京东/邮政/极兔/天天等面单版式,结构化识别运单号、收/寄件人姓名、收/寄件人电话、收/寄件人地址等字段
道路运输证识别 结构化识别道路运输证的业户名称、地址、车辆号牌、经营许可证、经济类型、车辆类型、吨座位、车辆规格、经营范围、初领日期、备注、发证日期等14个关键字段,支持识别横版及竖版两种道路运输证
财务票据文字识别 对财务及金融场景各类票据进行结构化识别,按字段返回识别结果(通用票据识别除外)
混贴票据识别 对增值税发票、卷票、火车票、出租车票、机票行程单等9类票据混贴的图片进行切分识别
银行回单识别 对各大银行的收/付款人户名、账号、开户银行、金额、日期等关键字段进行结构化识别
增值税发票识别 对增值税发票进行文字识别,并结构化返回字段信息,支持增值税专票、普票、电子发票、卷票、区块链发票
增值税发票验真 支持9种增值税发票的真伪及字段信息准确性校验,包括增值税专票、电子专票、普票、电子普票、卷票、通行费增值税电子普票、货运专票、机动车销售发票、二手车销售发票,支持返回票面的全部信息
定额发票识别 对各类定额发票进行结构化识别,可识别发票代码、发票号码、金额、发票所在地、发票金额小写、省、市7个关键字段
通用机打发票识别 对国家/地方税务局发行的横/竖版通用机打发票的号码、代码、日期、合计金额、类型、商品名称字段进行结构化识别
火车票识别 支持对大陆火车票的车票号、始发站、目的站、车次、日期、票价、席别、姓名进行结构化识别
出租车票识别 针对全国各大城市出租车票的发票号码、发票代码、车号、日期、时间、金额进行结构化识别
飞机行程单识别 对飞机行程单中的姓名、始发站、目的站、航班号、日期、票价字段进行结构化识别
汽车票识别 支持对全国范围不同版式汽车票的发票代码、发票号码、到达站、出发站、日期、时间、金额、身份证号、姓名、开票日期10个字段进行结构化识别
过路过桥费发票识别 支持对全国范围不同版式过路、过桥费发票的发票代码、发票号码、入口、出口、日期、时间、金额、省、市9个字段进行结构化识别
船票识别 对全国范围内不同版式的客运船票、货运船票进行结构化识别,包括发票代码、发票号码、发票日期、发票类型、总金额、出发地点、到达地点等7个字段
网约车行程单识别 对各大主要服务商的网约车行程单进行结构化识别,包括滴滴打车、花小猪打车、高德地图、曹操出行、阳光出行,支持识别服务商、行程开始时间、行程结束时间、车型、总金额等16 个关键字段
通用票据识别 对各类票据图片进行文字识别,并按行(半结构化)返回文字在图片中的位置信息
医疗票据文字识别 对医疗场景各类票据进行结构化识别,按字段返回识别结果
医疗发票文字识别 支持识别全国各地门诊/住院发票的 业务流水号、发票号、住院号、门诊号、病例号、姓名、性别、社保卡号、金额大/小写、收款单位、省市、医保统筹支付、个人账户支付等关键字段。支持识别收费项目明细,并可根据不同省市地区返回对应的识别参数
医疗费用明细识别 支持识别全国医疗费用明细的姓名、日期、病人ID、总金额等关键字段,支持识别费用明细项目清单,包含项目类型、项目名称、单价、数量、规格、金额
医疗费用结算单识别 支持识别全国医疗费用结算单的姓名、出/入院时间、发票总金额、自费金额、医保支付金额等 6 个关键字段
医疗检验报告单识别 支持识别全国各地医疗检验报告单的姓名、性别、医院名称、报告单名称等关键字段,支持识别检查具体项目的项目名称、结果、单位、参考区间、结果提示等明细字段
医疗诊断报告单识别 支持识别全国各地各医院医疗诊断报告单,包括医院名称、报告名称、姓名、性别、年龄、科室、临床诊断、报告日期、检查部位、检查方法、检查所见、检查提示、建议、肉眼可见 14个字段
病案首页识别 支持识别全国各地病案首页的病案号、姓名、性别、出生日期、身份证号、出/入院科别、住院次数、药物过敏情况等 15 个关键字段
出院小结识别 支持识别全国出院小结的科室、姓名、性别、年龄、入院日期、出院日期、住院天数、入院诊断、出院诊断、出院医嘱等关键字段
入院小结识别 【请点击申请邀测提交需求申请开通该接口使用权限】支持识别全国各地各医院入院小结的姓名、性别、年龄、入院时间、主诉、身份证号、联系人电话、病史采集日期、既往史、现病史、个人史、月经婚育史、工作单位、可靠程度 14个关键字段
诊断证明识别 【请点击申请邀测提交需求申请开通该接口使用权限】支持识别全国各地各医院诊断证明的姓名、性别、年龄、科室、入院时间、出院时间、住院号、出院诊断、出院医嘱 9个关键字段
门诊病历识别 【请点击申请邀测提交需求申请开通该接口使用权限】支持识别全国各地各医院门诊病历的姓名、日期、诊断、检查、主诉、现病史 6个关键字段,及表格区清单项目名称、规格、单价、数量、金额、项目类型等字段
处方笺识别 【请点击申请邀测提交需求申请开通该接口使用权限】支持识别全国各地各医院处方笺的姓名、日期、病人ID、科别 4个关键字段,及表格区清单项目名称、规格、单价、数量、金额、频率、用量、用法等字段
手术记录识别 【请点击申请邀测提交需求申请开通该接口使用权限】支持识别全国各地各医院手术记录的姓名、性别、年龄、科室、麻醉方式、手术操作名称、手术步骤、手术结果、术中所见、术中诊断、术前诊断、术后诊断 12个关键字段
医疗票据类别检测 【请点击申请邀测提交需求申请开通该接口使用权限】支持对医疗发票、医疗费用明细、医疗费用结算单、病案首页、出院小结、增值税发票6项医疗票据的分类,并返回对应票据的图片质量及位置方向信息
保险单识别 对各类人身保险保单中投保人、受益人的各项信息、保费、保险名称等字段进行结构化识别
防疫场景文字识别 针对防疫场景需查验的各类证明进行结构化识别
通信行程卡识别 可识别国内通信大数据行程卡页面截图中的手机号码、更新日期、途径地三个字段内容,并返回途径地的风险情况
健康码识别 可识别国内各省市健康码截图或拍摄照片中的姓名、更新时间、健康状态三个字段内容
核酸证明识别 可识别国内各省市电子核酸证明截图或拍摄照片中的姓名、检测时间、检测结果三个字段内容
教育场景文字识别 针对教育相关场景所涉及的文字、数字、符号进行识别
试卷分析与识别 可对作业、试卷的版面进行分析,输出图、表、标题、文本的位置,并输出分版块内容的OCR识别结果
公式识别 对试卷中的数学公式及题目内容进行识别
其它场景文字识别 对一些特殊场景所涉及图片中的文字内容进行识别
仪器仪表盘读数识别 广泛适用于各类血糖仪、血压仪、燃气表、电表等,可识别表盘上的数字、英文、符号
门脸文字识别 识别图片中的门脸文字信息,自动过滤非门脸文字内容,接口返回门脸名称、描述文字和置信度
彩票识别 【请点击申请邀测提交需求申请开通该接口使用权限】对大乐透、双色球彩票进行识别,并按行返回识别结果
智能结构化识别 【请点击申请邀测提交需求申请开通该接口使用权限】结构化识别各类卡证、票据,无需配置结构化对应关系、无需提取关键词、无需定制开发,直接上传图片即可获得结构化识别信息
文档图像处理 对各类文档图片进行矫正、效果增强等操作,提升图片质量
文档矫正增强 【请点击申请邀测提交需求申请开通该接口使用权限】对图片中的文件、卡证、票据等内容进行四角点检测定位,提取主体内容并对其进行矫正,同时可选图片增强效果进一步提升图片清晰度,达到主体检测矫正并增强的目的,提升图片整体质量
文档去手写 【请点击申请邀测提交需求申请开通该接口使用权限】去除图片中的手写内容,保留印刷体内容,可用于试卷去手写还原等场景
图片去摩尔纹 【请点击申请邀测提交需求申请开通该接口使用权限】去除翻拍电脑、手机等显示屏照片中的摩尔纹,使图片更加清晰
文档图片去底纹 【请点击申请邀测提交需求申请开通该接口使用权限】自动识别并去除文档图片中的底纹,使图片更加清晰,便于阅读

02. OCR调用方式

2.1 请求格式

POST方式调用

注意:Content-Type为application/x-www-form-urlencoded,然后通过urlencode格式化请求体。

2.2 返回格式

JSON格式

2.3 请求限制

请求图片需经过base64编码urlencode后传入:图片的base64编码指将一副图片数据编码成一串字符串,使用该字符串代替图像地址。您可以首先得到图片的二进制,然后去掉编码头后再进行urlencode。

注意

  1. 图片的base64编码是不包含图片头的,如(data:image/jpg;base64,)
  2. 使用 Postman 工具或 Python、PHP 等请求库会自动进行 urlencode,无需自行处理。

请求格式支持:PNG、JPG、JPEG、BMP、TIFF、PNM、WebP

接口名称 图片编码后大小限额
百度文字识别所有接口的图像大小限制 base64编码urlencode后大小不超过4M,最短边至少15px,最长边最大4096px

2.4 调用方式

调用AI服务相关的API接口有两种调用方式,两种不同的调用方式采用相同的接口URL。

区别在于请求方式鉴权方法不一样,请求参数和返回结果一致。

【如果您对于使用API调用的方式很陌生,您可以参见:【只要10分钟 快速掌握文字识别】 教程

2.5 调用方式一

请求URL数据格式

向API服务地址使用POST发送请求,必须在URL中带上参数:

access_token: 必须参数,参考“Access Token获取”。

注意:access_token的有效期为30天,需要每30天进行定期更换;

POST中参数按照API接口说明调用即可。

例如文字识别API,使用HTTPS POST发送:

https://aip.baidubce.com/rest/2.0/ocr/v1/general?access_token=24.f9ba9c5241b67688bb4adbed8bc91dec.2592000.1485570332.282335-8574074

获取access_token示例代码

bash


#!/bin/bash
curl -i -k 'https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=【百度云应用的AK】&client_secret=【百度云应用的SK】'

C++


#include <iostream>
#include <curl/curl.h>
#include <json/json.h>
//#include "access_token.h"
// libcurl库下载链接:https://curl.haxx.se/download.html
// jsoncpp库下载链接:https://github.com/open-source-parsers/jsoncpp/
// 获取access_token所需要的url
const std::string access_token_url = "https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials";
// 回调函数获取到的access_token存放变量
// static std::string access_token_result;
/**
 * curl发送http请求调用的回调函数,回调函数中对返回的json格式的body进行了解析,解析结果储存在result中
 * @param 参数定义见libcurl库文档
 * @return 返回值定义见libcurl库文档
 */
static size_t callback(void *ptr, size_t size, size_t nmemb, void *stream) {
    // 获取到的body存放在ptr中,先将其转换为string格式
    std::string s((char *) ptr, size * nmemb);
    // 开始获取json中的access token项目
    Json::Reader reader;
    Json::Value root;
    // 使用boost库解析json
    reader.parse(s,root);
    std::string* access_token_result = static_cast<std::string*>(stream);
    *access_token_result = root["access_token"].asString();
    return size * nmemb;
}

/**
 * 用以获取access_token的函数,使用时需要先在百度云控制台申请相应功能的应用,获得对应的API Key和Secret Key
 * @param access_token 获取得到的access token,调用函数时需传入该参数
 * @param AK 应用的API key
 * @param SK 应用的Secret key
 * @return 返回0代表获取access token成功,其他返回值代表获取失败
 */
int get_access_token(std::string &access_token, const std::string &AK, const std::string &SK) {
    CURL *curl;
    CURLcode result_code;
    int error_code = 0;
    curl = curl_easy_init();
    if (curl) {
        std::string url = access_token_url + "&client_id=" + AK + "&client_secret=" + SK;
        curl_easy_setopt(curl, CURLOPT_URL, url.data());
        curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, 0);
        curl_easy_setopt(curl, CURLOPT_SSL_VERIFYHOST, 0);
        std::string access_token_result;
        curl_easy_setopt(curl, CURLOPT_WRITEDATA, &access_token_result);
        curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, callback);
        result_code = curl_easy_perform(curl);
        if (result_code != CURLE_OK) {
            fprintf(stderr, "curl_easy_perform() failed: %s
",
                    curl_easy_strerror(result_code));
            return 1;
        }
        access_token = access_token_result;
        curl_easy_cleanup(curl);
        error_code = 0;
    } else {
        fprintf(stderr, "curl_easy_init() failed.");
        error_code = 1;
    }
    return error_code;
}

说明:方式一鉴权使用的Access_token必须通过API Key和Secret Key获取。

2.6 调用方式二

请求头域内容

在请求的HTTP头域中包含以下信息:

  • host(必填)
  • x-bce-date (必填)
  • x-bce-request-id(选填)
  • authorization(必填)
  • content-type(必填)
  • content-length(选填)

作为示例,以下是一个标准的文字识别的请求头域内容:


POST /rest/2.0/ocr/v1/accurate_basic HTTP/1.1
accept-encoding: gzip, deflate
x-bce-date: 2015-03-24T13:02:00Z
connection: keep-alive
accept: */*
host: aip.baidubce.com
x-bce-request-id: 73c4e74c-3101-4a00-bf44-fe246959c05e
content-type: application/x-www-form-urlencoded
authorization: bce-auth-v1/46bd9968a6194b4bbdf0341f2286ccce/2015-03-24T13:02:00Z/1800/host;x-bce-date/994014d96b0eb26578e039fa053a4f9003425da4bfedf33f4790882fb4c54903

说明:方式二鉴权使用的API认证机制authorization必须通过百度云的AK/SK生成。

03. 预留

04. 附录

猜你喜欢

转载自blog.csdn.net/dengjin20104042056/article/details/131689088