利用百度API实现文字识别

简介

将图片上文字识别出来,是一件非常有意思的事,而这样技术的实现,同样有助于我们实现图片验证码的识别,将图像翻译成文字一般成为光学文字识别(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


代码实现

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




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


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'))


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

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

  • 1
    点赞
  • 49
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
利用百度API 进行手写文字图片识别,可以按照以下步骤进行操作: 1. 首先,需要到百度云控制台注册账号并创建一个应用,获取到 API Key 和 Secret Key。 2. 安装 `baidu-aip` 库,这个库是百度云提供的官方 Python SDK,可以使用以下命令安装: ``` pip install baidu-aip ``` 3. 在 Python 代码中导入 `AipOcr` 类,创建一个实例,并设置 API Key 和 Secret Key: ```python from aip import AipOcr APP_ID = 'your app id' API_KEY = 'your api key' SECRET_KEY = 'your secret key' client = AipOcr(APP_ID, API_KEY, SECRET_KEY) ``` 4. 加载要识别的图片: ```python with open('image.jpg', 'rb') as f: image = f.read() ``` 5. 调用 `client.basicAccurate` 方法进行文字识别: ```python result = client.basicAccurate(image) ``` 6. 解析返回的结果,可以得到识别出来的文字: ```python words = [] for item in result['words_result']: words.append(item['words']) print(words) ``` 完整的代码示例: ```python from aip import AipOcr APP_ID = 'your app id' API_KEY = 'your api key' SECRET_KEY = 'your secret key' client = AipOcr(APP_ID, API_KEY, SECRET_KEY) with open('image.jpg', 'rb') as f: image = f.read() result = client.basicAccurate(image) words = [] for item in result['words_result']: words.append(item['words']) print(words) ``` 需要注意的是,百度API 的免费额度是有限的,如果需要进行大量的手写文字图片识别,需要付费购买更多的调用次数。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值