分享

利用百度API实现文字识别

 npkaida 2019-12-01

简介

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

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

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

准备工作

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


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


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


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

安装方法如下:

pip install baidu-aip


代码实现

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


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

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

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

  1. from aip import AipOcr
  2. import re
  3. APP_ID='略'
  4. API_KEY ='略'
  5. SECRECT_KEY='略'
  6. client=AipOcr(APP_ID,API_KEY,SECRECT_KEY)
  7. i=open(r'D:\博客相关资料\资料\博客图片\k1.png','rb')
  8. img=i.read()
  9. message=client.basicGeneral(img)
  10. for i in message.get('words_result'):
  11. print(i.get('words'))

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

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

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多