调用百度AI平台API进行文字识别和图片识别

写在前面

这应该是本年度的最后一篇技术博客了,今年在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加油哦。

小结

很棒的工具,这里只提到了两个功能,其他的应用各行各业似乎都能找到对应的接口,总之技术在进步,学习的脚步不能停。
共勉~~

猜你喜欢

转载自blog.csdn.net/u012848304/article/details/111663017