| 开源的好东西很多,能找到相关的帖子也多,但基础与专注领域不同。 看的总不尽人意,文章涉及的软件等相互间还有版本不一问题,
 按部就班也是一堆问题,很是浪费时间。
 
 这里记录下自己从0编译运行测试PaddleOCR的过程。
 涉及到的压缩包,软件等都统一打包到网盘供下载。
 与之相同功能的产品还有很多,如EasyOCR、Chineseocr、Chineseocr_lite。
 功能性能都有好坏,建议有时间都自己亲自测试。
 网络软文很多,都说自家的好,别家的烂,你懂的。
 
 实在不想亲自测试,建议找到它们各自提供的图片测试网址,
 准备多张自己要识别的图片,一一测试,识别效果满意后再进一步学习库或购买产品。
 商用的再了解PAI调用限制,比如每天可调用API接口几次?每秒可调用1次还是几次等。
 如果需求不多,各大商用厂家提供的免费API调用额度也够用的话,建议使用天若OCR。
 这是国人搞的开源项目,就是调用乱七八糟商用API的,比如百度OCR的.
 
 记住看帖子说哪个好,哪个不好的,多半别有用心。
 比如有说PaddleOCR好,EasyOCR不好。
 你拿PaddleOCR提供的图片
 
   都去它们各自提供的效果测试网站测试一下,
 EasyOCR能够很好的识别出来,PaddleOCR只能识别部分内容。
 测试单个文字的EasyOCR能够识别,PaddleOCR也不能识别。
 程序会说你可以自己训练啊,也可以修改函数参数啊。
 好吧,
  。 
 废话说多,这里以这个领域小白记录一下,
 我从0编译出PaddleOCR程序,测试效果的过程。
 虽然EasyOCR识别我需求图片的效果很满意,我最终选择学习它。
 但我听信了别人写的文章在先,事先搞了两天PaddleOCR,记录下坑,仅供参考。
 
 首先下载一箩筐的压缩包或安装包。
 下面是包下载的地址,及我参考过的帖子。
 下载包时自己注意每个包的版本号要相互匹配,
 不然编译时一堆问题,小白基本无解。
 
 包配错了一切白搭。复制代码https://blog.csdn.net/stq054188/article/details/114002913?utm_medium=distribute.pc_aggpage_search_result.none-task-blog-2~aggregatepage~first_rank_v2~rank_aggregation-18-114002913.pc_agg_rank_aggregation&utm_term=paddleocr+%E6%95%88%E6%9E%9C&spm=1000.2123.3001.4430
https://paddle-inference.readthedocs.io/en/latest/user_guides/download_lib.html#windows
https://www.bookstack.cn/read/PaddleOCR/quickstart.md
https://github.com/PaddlePaddle/PaddleOCR/blob/develop/doc/doc_en/quickstart_en.md
https://gitee.com/paddlepaddle/PaddleOCR/blob/release/2.0/doc/doc_ch/models_list.md#%E6%96%87%E6%9C%AC%E6%A3%80%E6%B5%8B%E6%A8%A1%E5%9E%8B
https://sourceforge.net/projects/opencvlibrary/files/
还有PaddleOCR每个版本文件命名不一样,
 看别人写的帖子,真的一头雾水,抓狂。
 为了自己以后回来继续PaddleOCR,或小白省时省力。
 我在附件统一打包到网盘供论坛会员使用。
 文件有:
 PaddleOCR-2.0.0
 paddle_inference_install_dir
 opencv-4.5.2-vc14_vc15
 ch_ppocr_server_v2.0_rec_infer (1)
 ch_ppocr_server_v2.0_det_infer (1)
 ch_ppocr_mobile_v2.0_cls_infer (1)
 cmake
 下面开始搭建WINDOWS下,可以用VS2019编译运行的PaddleOCR测试程序。
 
 0.自行下载VS2019并安装。
 使用这个版本主要是网络各种开源库的要求,一会要2015的,一会要2017的,一会2010不支持。
 所以我就搞个最新版本的,发现真好,就是太大,40多个GB。
 这是微软自家的产品,下载也好安装也罢,那是相当有省事。
 这个得自己下载,太大没打包压缩到附件。
 下面涉及的压缩包都在附件内,配置时注意我使用的路径。
 
 1.解压cmake。
 解压后,内有文件夹BIN,双击cmake-gui.exe,这工具可以将跨平台的项目工程提取生成指定平台的。
 如把PaddleOCR搞成WINDOW的VS可打开编译的项目工程,当然VS2019也集成有CMake功能。
 先放着,下边都解压完成后再用。
 
 2.解压PaddleOCR。
 如我解压到了G:\BackupFiles\Softwares\TesseractBaiduOCR\PaddleOCR
 依次打开文件夹如G:\BackupFiles\Softwares\TesseractBaiduOCR\PaddleOCR\deploy\cpp_infer
 可以看到一个文件CMakeLists.txt,等会会用到。
 
 3.解压opencv。
 这个以exe形式压缩的压缩包,双击运行程序,执行解压。
 这是一个很有名的视觉开源库,是PaddleOCR的依赖项。
 我解压到了其根目录
 如G:\BackupFiles\Softwares\TesseractBaiduOCR\PaddleOCR\opencv
 
 4.解压paddle_inference_install_dir。
 也是解压到PaddleOCR根目录
 如G:\BackupFiles\Softwares\TesseractBaiduOCR\PaddleOCR\paddle_inference_install_dir
 
 5.开始用cmake-gui.exe生成VS2019项目。
 
   第一次用这软件,不熟悉也没关系。
 主要功能就是生成指定类型项目文件。
 上图中1,2是指定跨平台项目目录,及生成指定类型项目的目录。
 图中是我做演示用的目录。
 设置好后,就可以点击Configure按钮,保存设置,如标识3处。
 会弹出版本确认窗口,会弹出生成build文件夹窗口,都确定。
 一般保存过程出现问题都会在信息框以红色文字提示,在图中框选的区域也会以红色提示。
 如上图,点击Configure按钮后还得进一步设置PaddleOCR所依赖项目的目录,共三处。
 Configure按钮可以多次重复点击保存,提示文本框出现configuring done后,
 点击Generate按钮(标识4处)生成项目代码。
 
 6.用VS2019打开PaddleOCR工程。
 打开上国中项目生成的位置。
 G:\BackupFiles\Softwares\TesseractBaiduOCR\PaddleOCR\deploy\cpp_infer\build
 可以看到文件ocr_system.sln,双击打开项目,这就是window下的VS项目了。
 如何编译生成熟悉软件Windows下编程的朋友那是轻车熟路了。
 我选择生成64位,Release版本编译。
 编译正常生成程序,在目录如
 G:\BackupFiles\Softwares\TesseractBaiduOCR\PaddleOCR\deploy\cpp_infer\build\Release
 生成ocr_system.exe为控件台程序。
 就是通过win+r,输入cmd,弹出黑色窗口来调用的。
 
 7.额外配置。
 G:\BackupFiles\Softwares\TesseractBaiduOCR\PaddleOCR\deploy\cpp_infer\tools
 下的config.txt。
 G:\BackupFiles\Softwares\TesseractBaiduOCR\PaddleOCR\ppocr\utils
 下的ppocr_keys_v1.txt。
 G:\BackupFiles\Softwares\TesseractBaiduOCR\PaddleOCR\paddle_inference_install_dir\paddle\lib
 下的paddle_inference.dll。
 复制到ocr_system.exe同级目录。
 G:\BackupFiles\Softwares\TesseractBaiduOCR\PaddleOCR\deploy\cpp_infer\build\Release
 
 再创建inference文件夹,
 将ch_ppocr_mobile_v2.0_cls_infer (1),ch_ppocr_server_v2.0_det_infer (1),ch_ppocr_server_v2.0_rec_infer (1)
 解压进去,路径如下,都会有三个文件供ocr_system.exe调用。
 G:\BackupFiles\Softwares\TesseractBaiduOCR\PaddleOCR\deploy\cpp_infer\build\Release\inference\ch_ppocr_mobile_v2.0_cls_infer
 G:\BackupFiles\Softwares\TesseractBaiduOCR\PaddleOCR\deploy\cpp_infer\build\Release\inference\ch_ppocr_mobile_v2.0_det_infer
 G:\BackupFiles\Softwares\TesseractBaiduOCR\PaddleOCR\deploy\cpp_infer\build\Release\inference\ch_ppocr_mobile_v2.0_rec_infer
 但这此文件ocr_system.exe如何知道就在这些文件夹的呢?
 是通过刚才复制进来的config.txt读取,打开此文件进行设置。
 上边我们建立的三个文件夹及一个文件ppocr_keys_v1.txt,所以共人4处要修改。
 如下图
 
   使用的是.\表示相对于ocr_system.exe的路径。
 
 8.测试,以上都搞好好,就可以运行ocr_system.exe进行效果测试。
 ocr_system.exe同级目录准备几张测试用图片如1.jpg。
 运行CMD ,运行ocr_system.exe。
 在CMD命令框中输入G:回车
 输入G:\BackupFiles\Softwares\TesseractBaiduOCR\PaddleOCR\deploy\cpp_infer\build\Release回车。
 输入CHCP 65001回车。
 打开ocr_system.exe所以目录及设置CMD显示语言。
 在目录G:\BackupFiles\Softwares\TesseractBaiduOCR\PaddleOCR\deploy\cpp_infer\docs
 有个文档windows_vs2019_build.md,可能你也会用到,可看看。
 CMD窗口再输入ocr_system.exe config.txt 1.jpg
 注意输入内容是三个文件名ocr_system.exe,config.txt,1.jpg,中间有空格。
 都是我们先前准备好的文件。
 1.jpg是PaddleOCR提供的图片(文章开始的第一张图)。
 识别结果如下图。
 
   可以看到上图底部几行中文为识别结果,并不理想。
 用PaddleOCR自家的代码识别它自家的图片。
 
   按理应该正常才对。
 应该参数在哪可以修改吧,作为小白我也不清楚。
 我只是想效果满意直接用,所以没有继续学习,
 写下帖子,后续有需要再回头。
 
 附件包含帖子
 tesseract与百度OCR环境搭建编译的附件https://www.gkbc8.com/forum.php?mod=viewthread&tid=15931
 
 
 
 |