注:由于网站迁移过程出现问题,图片丢失,该教程可以到我的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()

这个功能有很多用处,比如自己的网站,或者应用等

发表回复