百度AI平台提供了很多AI接口,大部分都提供了免费的调用额度,如果是个人使用可以获得很大的便利,这里将介绍如何使用百度提供的文字识别接口。包含注册申请以及使用例!
使用BaiduOcr识别图片文字
百度AI平台提供了很多AI接口,大部分都提供了免费的调用额度,如果是个人使用可以获得很大的便利,这里将介绍如何使用百度提供的文字识别接口。
○注册并申请使用权
BaiduAI官网进入后点击右上角控制台进行登录
○注册百度账号
百度账号注册这里不再赘述,进入控制台登陆时即可注册。
○实名认证
-
登入控制台后会要求填写以下信息来激活账号,只需要填写
*
号信息栏。 -
完成后点击左侧工具栏的文字识别,如下图所示
-
点击立即认证,填入姓名和身份后点击下一步,无需刷脸验证,直接返回上一步的页面即可
○创建文字识别应用
-
回到控制台后点击 创建应用,填一些信息,不需要包名并选择所属为个人
-
创建完成后点击 应用详情 ,进入页面后请记住
API Key
和Secret Key
○调用API识别图
○获取Token
每隔一段时间使用前都需要获取Token
,一个Token的有效期为30分钟
通过发送HTTP Get
请求token:
-
url:
https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id={API_Key}&client_secret={Secret_Key}
-
请求中携带参数API_key和Secret_key替换为你刚才申请的两个值,当然
{}
需要删除! -
请求成功将获得一串
Json
,例如{ "refresh_token": "25.b55fe1d287227ca97aab219bb249b8ab.315360000.1798284651.282335-8574074", "expires_in": 2592000, "scope": "public wise_adapt", "session_key": "9mzdDZXu3dENdFZQurfg0Vz8slgSgvvOAUebNFzyzcpQ5EnbxbF+hfG9DQkpUVQdh4p6HbQcAiz5RmuBAja1JJGgIdJI", "access_token": "24.6c5e1ff107f0e8bcef8c46d3424a0e78.2592000.1485516651.282335-8574074", "session_secret": "dfac94a3489fe9fca7c3221cbf7525ff" }
我们只需要获取
access_token
即可若返回失败则会得到包含
error_description
的Json
信息
○调用所需接口
文字识别分为通用文字识别、通用文字识别(高精度),不同的接口有不同的免费额度
通过发送HTTP POST
上传图片数据或者地址进行文字识别
-
url:
https://aip.baidubce.com/rest/2.0/ocr/v1/{ocr_type}?access_token={token}
此处ocr_type根据不同的识别方式变化,可以用“general_basic”或者“accurate_basic”替换.
token是上一步获取的
access_token
-
post的请求体为表单类型,分为两种方式
-
图片数据
图片数据必须使用Base64编码,并用以下格式作为请求体
key value image base64数组 -
图片地址
key value url url字符串 仅
general_basic
支持用网络图片
-
-
请求完成后将返回 Json 数据
{ "log_id": 2471272194, "words_result_num": 2, "words_result": [ {"words": " example"}, {"words": "helloworld"} ] }
出错则会返回包含
err_msg
的 Json 数据,具体错误类型可见官方文档
○Python使用例
点此到Github中查看上述介绍的内容分别对应def _get_token()
和def general_ocr(img_b64)
○额外选择
百度ocr还包含很多种类型具体请查看 官方文档,调用api时也可传入其他参数,如是否检测图片方向、图片需要识别的语言等,这里就不多介绍,入门后看官方文档就没有任何问题了。