利用百度API实现文字识别

简介

将图片上文字识别出来,是一件非常有意思的事,而这样技术的实现,同样有助于我们实现图片验证码的识别,将图像翻译成文字一般成为光学文字识别(Optical Character Recognition, OCR)。可以实现OCR的底层库并不多,目前很多库都是使用共同的几个底层OCR库,或者是在上面进行定制。一些人是通过机器学习的方法,自己进行训练来实现识别,但那样识别率不高,并且也较为繁琐,今天我们使用的方法是调用现成的API,来达成我们的目的。


API(Application Programing Interface)应用编程接口,它们为不同的应用提供了方便友好的接口。不同的开发者用不同的架构,甚至不同的语言编写软件都没问题。因为API设计的目的就是要成为一种通用语言,让不同的软件进行信息共享。我们通过调用百度AI的API,可以使用百度AI的文字识别技术,响应一般以XML和JSON格式返回,经验证,百度返回的是JSON格式,可见JSON格式已经越来越流行。


一些API是直接可以调用的,而另一些是需要收费和认证的,百度API必须经过验证,它提供每天五百次免费的使用机会,对于一般人这已经足够了,下面介绍获得验证指令的方法。

准备工作

1.使用百度账号登陆百度AI开放平台


利用百度API实现文字识别_第1张图片


2.点进控制台,选择文字识别,并且点击创建应用。


利用百度API实现文字识别_第2张图片


3.返回点击管理应用,获取需要认证信息。




另外你需要在python中安装baidu-aip模块

安装方法如下:

pip install baidu-aip


代码实现

这里我随便找了一张图片如下:


利用百度API实现文字识别_第3张图片


首先我们看看百度返回的原始数据是什么


from aip import AipOcr
import re
APP_ID='你获得的APPID'
API_KEY ='你获得的APPKEY'
SECRECT_KEY='同上'
client=AipOcr(APP_ID,API_KEY,SECRECT_KEY)
i=open(r'D:\博客相关资料\资料\博客图片\k1.png','rb')
img=i.read()
message=client.basicGeneral(img)
print(message)


这是json格式,并不方便我们阅读,所以我们把信息提取出来。


from aip import AipOcr
import re
APP_ID='略'
API_KEY ='略'
SECRECT_KEY='略'
client=AipOcr(APP_ID,API_KEY,SECRECT_KEY)
i=open(r'D:\博客相关资料\资料\博客图片\k1.png','rb')
img=i.read()
message=client.basicGeneral(img)
for i in message.get('words_result'):
 print(i.get('words'))

利用百度API实现文字识别_第4张图片


15个都识别出来了,效果还是不错的。

这里也只是简单尝试了百度API的强大,可以百度在AI领域已经做的很好了,如果有读者想要处理更复杂的图片,请访问百度官方API学习网页。除了文字识别,百度更有人脸识别,语音识别,图像识别等等强大的API,如果你想开发一个酷炫的软件,百度API是一个不错选择!

你可能感兴趣的:(Python学习,爬虫)