赞
踩
近几天在做毕业设计获取数据,需要将电子书数据转化成文字,其中需要对图像中的文字进行识别,看了前辈们的文章,找到一个较简单的方法:使用python调用百度AI平台接口。写下这篇文章做一个比较简短的记录和学习,后期如果有新内容再行补充。
这个类似于调用接口实现词法分析等操作,首先通过注册获得APP_ID、API_KEY、SECRET_KEY,然后调用接口实现OCR。由于是在线API,如果图片体积比较大,涉及到上传数据、分析数据、返回数据等一系列操作,需要一定的时间。此外,因为返回的是 dict 类型数据,所以需要对结果进行处理(这套算法是按行识别文字的,准确率较高,基本可以直接将结果进行提取和拼接)。
Python SDK文档 http://ai.baidu.com/docs#/OCR-Python-SDK/53932383
一、接口调用准备:
1、进入网站
https://console.bce.baidu.com/ai/?_=1577158208815&fromai=1#/ai/ocr/overview/index
2、选择产品服务里的文字识别,点击创建应用。
3、选择文字识别,创建完成。
4、创建后可以选择应用,可以看到里面有AppID、API Key、Secret Key三个参数,将三个参数放入下面实例对应三个地方。
二、百度AipOcr接口能力
三、安装接口模型
pip install baidu-aip
四、通用文字识别 请求参数详情
五、通用文字识别 返回数据参数详情
六、最终代码
- from aip import AipOcr
-
- #定义常量
- APP_ID = '18096082'
- API_KEY = 'nTV3rarsqUNlzGibGw6Q3Bl5'
- SECRET_KEY = '4CbWiosVLTPzZbwBTZ86dE9bkTK70NQR'
-
- # 初始化AipFace对象
- client = AipOcr(APP_ID, API_KEY, SECRET_KEY)
-
-
- # 读取图片
- def get_file_content(filePath):
- with open(filePath, 'rb') as fp:
- return fp.read()
-
-
- image = get_file_content('ocr_test.jpg')
- # 调用通用文字识别, 图片为本地图片
- res = client.general(image)
- print(res)
-
- for item in res['words_result']:
- print(item['words'])

七、识别结果
识别的图片为:
识别结果为:
八、小结:
主要是初次接触OCR这个领域所做的一些笔记,后续再深入进行学习。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。