上次我使用的百度AI开放平台的API接口实现图片的转化,后来有许多小伙伴都私信问我,怎么获取百度AI平台的AK和SK。为了统一回答大家的问题,今天我又使用百度API实现了一个从图片中提取文字和识别身份证的功能,详细描述实现过程,有收获的小伙伴记得收藏、转发分享哦。
百度AI开放平台
百度AI开放平台网址:https://login.bce.baidu.com/
首先我们需要注册一个账号,注册登录之后我们选择文字识别
菜鸟小白的平台因为已经创建了一个应用了,首次登录应该是没有应用的,点击创建应用就好了
后面输入创建的应用名称,从创建页面上看API支持的功能很多,什么文字识别、身份证识别、银行卡识别和驾驶证识别等等,另外如果需要其他类型的功能(如图片效果增强等)也可以直接勾选上。
下面我们不需要选择文字识别包名,填写一个应用描述点击创建就OK了。
创建完成之后我们就可以看到我们需要的AK(API Key)和SK(Secret Key)了。
思路分析
可以看到百度AI开放平台是有提供API文档和举例代码的。写程序之前需要先看看我们的要使用的接口是什么格式,是否需要身份认证。百度AI开放就是需要使用AK和SK去和平台做一个鉴权操作,获取一个access token,然后我们再拿着这个access token去请求接口,完成我们今天需要完成的文字识别和身份证识别功能。
鉴权函数
从分析来看,我们首先需要去获取一个access token,用于后续的请求合法性鉴别。查看平台的接口文档,我们的编码如下,这个其实在我们之前的图片处理程序中也是一样的。
文档地址:https://ai.baidu.com/ai-doc/REFERENCE/Ck3dwjhhu
百度AI开放平台鉴权函数
def get_access_token():
url = 'https://aip.baidubce.com/oauth/2.0/token'
data = {
'grant_type': 'client_credentials', # 固定值
'client_id': 'eFGwDIb*******HucbnPr', # 在开放平台注册后所建应用的API Key
'client_secret': 'XPxWT2L********PFVCKS6PVih' # 所建应用的Secret Key
}
res = requests.post(url, data=data)
res = res.json()
print(res)
access_token = res['access_token']
return access_token
文字识别函数