注:由于网站迁移过程出现问题,图片丢失,该教程可以到我的bilibili观看教程视频: https://www.bilibili.com/video/av54709168
步骤
1.百度搜索百度云

2.点击进入百度云界面,如果没有注册账号先注册,然后登陆
3.登陆后点击管理控制台

4.在左侧栏选择文字识别

5.进入页面后点击创建应用

6.应用名称和类型随便

7.不需要文字识别包名,应用描述随便填

8.点击创建,然后点击应用详情

9.显示的就是创建的应用信息

10.点击查看文档

11.文档内包含api参考等,在这里使用python语言编写代码,选择如下图所示

12.首先安装所需包 在命令行执行
pip install baidu-aip
13.编写代码 创建.py文件
新建一个AipOcr 注意:此处的APPID AK SK为步骤9的应用信息内的信息,根据自己申请的应用填写
from aip import AipOcr """ 你的 APPID AK SK """ APP_ID = '你的 App ID' API_KEY = '你的 Api Key' SECRET_KEY = '你的 Secret Key' client = AipOcr(APP_ID, API_KEY, SECRET_KEY)
14.阅读接口说明

15.在编写的代码内加入以下代码
""" 读取图片 """ def get_file_content(filePath): with open(filePath, 'rb') as fp: return fp.read() # 注意 example.jpg请改为自己需要识别的图片地址 image = get_file_content('example.jpg') """ 调用通用文字识别, 图片参数为本地图片 """ result = client.basicGeneral(image) print(result)
现在运行该.py文件即可识别图片信息并打印输出
16.但打印输出的信息为下面的字典形式,需要进行处理
{'log_id': 4791292713357820774, 'words_result_num': 4, 'words_result': [{'words': 'image =get file content example'}, {'words': '调用通用文字识别,图片参数为本地图片'}, {'words': 'result= client. basicGeneral(image)'}, {'words': 'print (result).'}]}
通过对比所识别的图片可以发现:文字识别在键为“words_result”的列表内的字典中 (不同行的文字在不同字典中) ,键为words
编写代码取出文字
def handel_data(data): '''提取结果''' data = '\n'.join([i['words'] for i in data['words_result']]) return data result = handel_data(result) print(result)
17.到此即可完成图像文字识别,整合一下代码
如下,在需要识别图片文字时向BaiduOcr()传入文件地址并run()即可得到识别结果
注意:不要忘记添加自己的应用信息(APPID AK SK)
from aip import AipOcr class BaiduOcr: def __init__(self,file_path): '''初始化,传入图片地址''' self.filePath = file_path """ 你的 APPID AK SK """ APP_ID = '' API_KEY = '' SECRET_KEY = '' self.client = AipOcr(APP_ID, API_KEY, SECRET_KEY) """ 读取图片 """ def get_file_content(self): with open(self.filePath, 'rb') as fp: return fp.read() def handel_data(self,data): '''提取结果''' data = '\n'.join([i['words'] for i in data['words_result']]) return data def run(self): '''运行''' image = self.get_file_content() """ 调用通用文字识别, 图片参数为本地图片 """ result = self.client.basicGeneral(image) result = self.handel_data(result) print(result) return result if __name__ == '__main__': # 在BaiduOcr() 内传入图片地址即可 ocr = BaiduOcr('QQ截图20190606143255.jpg') ocr.run()
这个功能有很多用处,比如自己的网站,或者应用等