《入坑百度飞桨OCR及打包代码到开源库》

常常听到很多人说python这种语言的奇特之处就是你不用再自己造轮子,你只需要懂得车子的构架,就能完整的造出来一辆车子,在此次入坑百度飞桨之后我才深深的理解到这句话的涵义。于是此次想分享一下本人在使用百度飞桨以及打包自己使用百度飞桨中字符识别模块paddleocr的一些踩坑经验,由于公司电脑的一些局限性,导致在公司做的时候坑确实挺多的,不过在公司填完各种坑之后就很顺利在自己的电脑上配置好环境,以下就是我本次带来的百度飞桨环境配置和一键预测字符demo:

一、配置百度飞桨环境、安装paddlepaddle、paddlehub、paddleocr等环境。

二、使用百度飞桨中字符识别模块paddleocr进行字符的一键预测。

三、打包自己的一键预测ocr图形界面demo,测试是否打包成功。

一、配置百度飞桨环境

1、安装paddlepaddle

进入百度飞桨官网中选择自己的电脑环境进行安装

图1-1百度飞桨安装页面

使用上面的命令进行安装paddlepaddle环境,接着在命令行中输入python进入python解释器,接着输入import paddle,再输入paddle.utils.run_check(),查看环境是否安装成功,若安装成功则显示如下:

图1-2 查看百度飞桨是否安装成功

2、安装paddlehub

安装paddlepaddle成功后可以直接使用命令pip install -i https://mirror.baidu.com/pypi/simple paddlehub 安装,接着在python解释器里导入paddlehub,输入padlehub.server_check(),安装成功信息如下:

图1-3 查看paddlehub是否安装成功

3、安装paddleocr

使用 pip install -i https://mirror.baidu.com/pypi/simple paddleocr安装,一般情况下会报出这个错:

图1-4 安装paddleocr报错信息

这是由于我们的电脑里缺少了VC++ 14.0这个东西,到下面链接去下载一个并安装就可以了。Download Visual Studio Tools - Install Free for Windows, Mac, LinuxDownload Visual Studio IDE or VS Code for free. Try out Visual Studio Professional or Enterprise editions on Windows, Mac.https://visualstudio.microsoft.com/downloads/ 安装好 VS Code 之后再使用上面命令进行安装,导入paddleocr模块,输入paddleocr.__version__,进行测试,若显示如下信息,则安装成功。

图1-5 测试paddleocr是否安装成功

二、使用百度飞桨模块paddleocr进行字符一键预测

这里就使用paddleocr进行字符的一键预测,参考paddleocr官方文档,可以使用以下代码进行字符进行一键预测:

from paddleocr import *
        ocr = PaddleOCR(use_angle_cls=True, lang="ch")  # need to run only once to download and load model into memory
        img_path = 'E:/OCR/OCR/NG/E/3.bmp'
        result = ocr.ocr(img_path, cls=True)
        #for line in result:
            #print(line)
        text_ = [line[1][0] for line in result]
        text_box_position = [line[0] for line in result]
        confidence = [line[1][1] for line in result]
    
    
        text = {}
        text['text'] = text_[0]
        text['text_box_position'] = text_box_position
        text['confidence'] = confidence

这里的lang='ch'代表的是识别中英文的模型,另外的模型还有en等。在此处我做了一个图形界面来识别字符,看看效果。

图2-1 识别结果1

图2-2 识别结果2

图2-3 识别结果3

图2-4 识别结果4

 可见所有结果识别正确!此处本人由于使用的不是标准的图像,因此在画图像矩形框时某些矩形框的效果不好。

三、打包自己的一键预测ocr图形界面

1、首先在包含你代码文件的同等级别目录下创建一个名为setup.py代码文件,并在源码文件同等目录下创建一个名为__init__代码文件,我的文件夹如下:

图3-1 文件夹目录

2、创建好之后在setup.py的内容如下:

图3-2 setup.py文件内容


name为你导入库时的名字也就是包名,version为版本号,packages为你想要封装的包,这里是找到文件夹下的所有文件夹进行打包,以下是一些可有可无的选项:description:这个库的一些描述,author:作者,autior_email: 你的email。

3、__init__源代码文件的内容如下:

图3-3 __init__文件内容

用from 包名 import * 导入你需要的库,否则后面导入自己打包好的包名将会报错。

使用from 源代码 import * 导入你自己写的源码里所有的函数,方便后面导入库使用,这里OCR和test是我自己写的源码。 __all__=['OCR.py']  是你要打包的源代码文件。

4、使用命令行cd切换到你自己与setup.py同级别目录下,使用python setup.py bdist_wheel进行打包,如图:

图3-4 开始进行打包

5、等待打包完成,你会发现在与setup.py同级别的目录下多了几个文件,其中dist中的文件就是我们打包成库的文件,使用命令行cd切换到dist文件夹中,使用pip install + 包名进行安装,安装成功显示如下:

图3-5 打包完成之后的文件夹

图3-6 安装自己封装的库文件

至此,自己写的源码打包成库完成!

最后进行自己打包的库测试,使用命令行切换到python 解释器,接着导入我前面打包文件的库名字test_ocr,并调用我的界面显示函数show()进行测试,测试成功界面如下,可以见到我们自己封装成的库文件已经导入成功:

图3-7 测试结果

至此,调用百度飞桨识别字符的项目完成!后面本人还会带来使用百度飞桨自动标注器标注自己的数据集,接着调用百度飞桨训练自己数据集的教程,训练自己的数据集是为了更好的适应各种场景的字符识别,得到更好的字符识别结果。

  • 3
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值