调用百度AI平台API进行文字识别和图片识别
日期: 2020-12-25 分类: 个人收藏 495次阅读
写在前面
这应该是本年度的最后一篇技术博客了,今年在CSDN上总共发表了20篇博客,除掉几篇LeetCode的博客,都是个人工作的总结,总体来说,收获不少,随手记录的习惯也养成了。希望来年持之以恒。
这篇博客主要介绍的是百度AI开放平台的OCR识别,包括文字识别和车型识别,个人感受是功能强大,但也还有提升的空间。
- 语言环境:Python3.7
- 编译工具:Spyder
相关接口和秘钥申请
首先上两个接口的地址:
在调用API之前,你得按百度要求申请API Key和Secret Key(简称AK、SK),然后根据AK和SK获取access_token
先上一下access_token获取的代码
import requests
import base64
# client_id 为官网获取的AK, client_secret 为官网获取的SK
ak = 'yourak'
sk = 'yoursk'
host = 'https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=%s&client_secret=%s' % (ak, sk)
response = requests.get(host).json()
token = response['access_token']
ak和sk都要换成自己申请的,有了ak和token后就可以进行下面的工作了。
手写字体识别
首先上一张自己随手写的文字,辛弃疾的《永遇乐》,多少年来最爱的宋词之一
觉得能把上面的文字识别出来不,我觉得费劲。
好了,上文字识别的代码
request_url = "https://aip.baidubce.com/rest/2.0/ocr/v1/handwriting"
# 二进制方式打开图片文件
f = open('手写识别-草书风格.jpg', 'rb')
img = base64.b64encode(f.read())
params = {"image":img}
access_token = token
request_url = request_url + "?access_token=" + access_token
headers = {'content-type': 'application/x-www-form-urlencoded'}
response2 = requests.post(request_url, data=params, headers=headers).json()
result = response2['words_result']
results = []
for i in range(len(result)):
results.append(result[i]['words'])
print(result[i]['words'])
请求过程很简单,结果在response2[‘words_result’]中,看看识别成啥玩意儿了:
哈哈,这么难识别的文字,居然还有不少是对的。那我换个正楷一点的字体呢,会不会好一点,说干就干。
换一张写的标准一点的手写照片
看看结果
wow,只有三个字识别错了,还是很棒的。这玩意儿可以用在很多地方,比如小学老师批改作业,最合适不过了,不过就得要求孩子们把字写好,不然容易扣分哦。
车型识别
代码差不多,我直接写上来了
request_url = "https://aip.baidubce.com/rest/2.0/image-classify/v1/car"
# 二进制方式打开图片文件
f = open('车辆识别.jpg', 'rb')
img = base64.b64encode(f.read())
params = {"image":img,"top_num":5}
access_token = token
request_url = request_url + "?access_token=" + access_token
headers = {'content-type': 'application/x-www-form-urlencoded'}
response = requests.post(request_url, data=params, headers=headers).json()
看看我在网上找的一张比亚迪的照片
看看识别情况
识别的很准确呢,真棒。
当然这是比较清晰的照片,如果遇到模糊的照片,识别成功率不到一半,百度AI加油哦。
小结
很棒的工具,这里只提到了两个功能,其他的应用各行各业似乎都能找到对应的接口,总之技术在进步,学习的脚步不能停。
共勉~~
除特别声明,本站所有文章均为原创,如需转载请以超级链接形式注明出处:SmartCat's Blog
下一篇: 用Python编写迷宫游戏
精华推荐