这篇博客主要介绍的是百度AI开放平台的OCR识别,包括文字识别和车型识别,个人感受是功能强大,但也还有提升的空间。
相关接口和秘钥申请
首先上两个接口的地址:
在调用API之前,你得按百度要求申请API Key和 Key(简称AK、SK),然后根据AK和SK获取
先上一下获取的代码
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'])
请求过程很简单,结果在[‘’]中,看看识别成啥玩意儿了:
哈哈,这么难识别的文字,居然还有不少是对的。那我换个正楷一点的字体呢,会不会好一点,说干就干。
换一张写的标准一点的手写照片
看看结果
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加油哦。
小结
很棒的工具,这里只提到了两个功能,其他的应用各行各业似乎都能找到对应的接口百度识图在线使用,总之技术在进步,学习的脚步不能停。
共勉~~
最后多说一句,小编是一名开发工程师,这里有我自己整理了一套最新的系统学习教程,包括从基础的脚本到web开发、爬虫、数据分析、数据可视化、机器学习等。想要这些资料的可以关注小编,并在后台私信小编:“01”即可领取。
本文的文字及图片来源于网络加上自己的想法,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。
会员全站资源免费获取,点击查看会员权益