最近发现了百度云开放AI,可以利用baidu-aip进行文字识别,这对于我们这种学生拿来做科研练手是最好不过了。接下来我会详细教大家如何创建百度云AI应用,以及Python与baidu-aip联合进行图像中的识别。

#1. 百度云帐号及应用申请

首先我们点击链接(https://cloud.baidu.com),然后用自己百度帐号登录(百度云盘之类的帐号就行,没有的话注册一个),然后点击右上角的管理控制台按钮进去(里面有好多免费的服务,感觉可以嗨一波),拉到下面选择文字识别点进去。找到创建应用这个按钮,点击后给应用取个名称,建议用字母数字的组合,写个应用描述其他的默认,然后立即创建即可。

python在图上加文字和数据 python图像加文字_Python

python在图上加文字和数据 python图像加文字_1024程序员节_02

创建完毕后我们可以选择下载SDK,然后利用Python的pip install命令进行安装。

python在图上加文字和数据 python图像加文字_1024程序员节_03

python在图上加文字和数据 python图像加文字_1024程序员节_04

安装好Python模块后可以返回应用列表,这里可以查看到我们的三个关键信息:APPP_ID、API_KEY、SECRET_KEY,这里后面编程需要用的。

python在图上加文字和数据 python图像加文字_python在图上加文字和数据_05

#2. Python实现简单的图像文字识别官方介绍文档官方快速入门代码 通过上面2个链接的介绍,我们写出了下面的简单代码,识别的图片是前面从下往上数第三个图。

from aip import AipOcr

""" 你的 APP_ID API_KEY SECRET_KEY,上面的图已经展示了如何找自己的这三个信息,只需要复制信息,放进去单引号里面就行,均为字符串 """
APP_ID = '你的 App ID'
API_KEY = '你的 Api Key'
SECRET_KEY = '你的 Secret Key'

client = AipOcr(APP_ID, API_KEY, SECRET_KEY)
i = open(r'C:\Users\admin\Desktop\1.jpg','rb')
img = i.read()
message = client.basicGeneral(img)
for i in message.get('words_result'):
    print(i.get('words'))

识别结果如下:

python在图上加文字和数据 python图像加文字_Python_06

#可以看出,提取这种简单背景图片中的文字,baidu-aip与Python就短短十来行代码就行了,而且识别效果还挺好的,关键是不要钱啊,不怎么像百度,哈哈!

#更新:最近抓取验证码利用这个程序识别字母数字,发现这可怜的英文识别率哦,QQ手机版里面的图像识别都比它好用,不管是百度这个包里面的client.basicGeneral,client.accurate都不好用。上一张测试验证码图片:

python在图上加文字和数据 python图像加文字_Python_07

python在图上加文字和数据 python图像加文字_百度云_08

python在图上加文字和数据 python图像加文字_python_09

上面2张是百度云和QQ手机版的测试结果,可以发现百度云这个不说大小写不准,还漏了个Z,QQ就很好了,全都识别出来了,还包括大小写。果然百度里面,免费的不靠谱,醉了。手动狗头

python在图上加文字和数据 python图像加文字_1024程序员节_10