当前位置: 首页 > news >正文

Pycharm打包PaddleOCR过程及疑问解决途径

Pycharm打包PaddleOCR过程及疑问解决途径

python实现提取图片中的文字,运用PaddleOCR识别最精准,因为只要求识别小尺寸图片,速度在一秒钟左右,对于要应用的项目可以接受。缺点是项目打包有将近600M,压缩后也有将近200M。Tesseract虽然速度快,占用空间小,但对艺术字体识别精度极差,所以排除使用。

一个提取文字的极简需求,代码只有几十行。前后使用了三种方法,外加使用了PaddleOCR的三个版本,折腾好几天,终于可以了。打包后600M的空间真的惊到我了。

因为使用方便,稳定,参考资料多。就是另启用PaddleOCR旧版本

开发环境版本:

1.python3.12.10

2.paddle2.6.0

3.PaddleOCR2.8.0

一、生成spec文档,不介绍。

二、修改spec文件内容,仅展示修改部分

a = Analysis(['PaddleOCRTest.py'],pathex=['E:\\Programs\\python\\pao\\.venv\\Lib\\site-packages','E:\\Programs\\python\\pao\\.venv\\Lib\\site-packages\\paddle\\libs'],binaries=[('E:\\Programs\\python\\pao\\.venv\\Lib\\site-packages\\paddle\\libs','.')],datas=[('E:\\Programs\\python\\pao\\.venv\\Lib\\site-packages\\paddleocr\\ppocr', 'paddleocr\\ppocr'),('E:\\Programs\\python\\pao\\.venv\\Lib\\site-packages\\paddleocr\\tools', 'paddleocr\\tools'),('E:\\Programs\\python\\pao\\.venv\\Lib\\site-packages\\paddleocr\\ppstructure', 'paddleocr\\ppstructure')],hiddenimports=['shapely.geometry','pyclipper','skimage', 'skimage.morphology', 'imgaug', 'lmdb'],hookspath=[],hooksconfig={},runtime_hooks=[],excludes=[],win_no_prefer_redirects=False,win_private_assemblies=False,noarchive=False,optimize=0,
)

三、遇到的疑问:

1.提示:unhandledexception: cannot import name 'imaging' from 'PlL'

处理方法:到.venv\Lib\site-packages目录下复制PIL文件夹到打包后的_internal文件夹

2.提示:ModuleNotFoundError: No module named 'XXX'

消除方法:将模块名称'XXX'添加到spec文件的hiddenimports内,然后重新打包,直到不弹出该类型错误为止。

参考文章:

Pyinstaller 打包 PaddleOcr + PyQt5 计划的打包过程、常见问题及解决方法_paddleocr打包太难了-CSDN博客

http://www.wxhsa.cn/company.asp?id=4610

相关文章:

  • uni-app项目支付宝端Input不受控
  • 适合小型企业的项目管理系统推荐:Reddit 用户真实需求
  • 开启研究生学习阶段
  • 李航统计学习方法第二版 学习笔记
  • 如何拥有自己的一台永久免费云主机/云服务器
  • 第三周训练总结
  • godot格式化字符串
  • reLeetCode 热题 100-1 两数之和-扩展2 map实现 - MKT
  • 发现一个新的资源论坛 - 小小程序员
  • reLeetCode 热题 100-1 两数之和-扩展3 单向和双向链表实现 - MKT
  • codeforces1050div4题解
  • 深入解析:少儿舞蹈小程序(13)作品播放量累加及点赞
  • Ubuntu 24.04 安装最新版podman@5.6.1
  • 深入解析:Unity:XML笔记(二)——Xml序列化、反序列化、IXmlSerializable接口
  • 2025.9.15——知识点学习
  • C# Avalonia 13- MoreDrawing - CustomPixelShader
  • 详细介绍:拉帮结派下的制造麻烦
  • ubuntu安装docker
  • 使用标签Tag控制蒙太奇的触发时机-playmontageAndWait-Send GameplayEvent-WaitGameplayEvent
  • sql事务执行
  • GAS_Aura-Spawn FireBolt from Event
  • 在CentOS 7系统上创建SSL/TLS证书以启用HTTPS
  • 从Craigslist广告到BHIS安全顾问:非科班生的渗透测试求职之路
  • Java 微服务架构中的实践与挑战
  • Java 与大数据处理:从 Hadoop 到实时计算
  • 国产IT运维卡壳?乐维智能运维体让运维团队告别“适配难、监控乱”
  • ubuntu18安装mysql5.7
  • 【IEEE出版 |已连续5届EI稳定检索】第六届计算机工程与智能控制学术会议(ICCEIC 2025)
  • 在选择2025年代码托管平台时,Gitee和GitHub作为国内外两大主流平台各有优势。本文将从多个维度进行对比分析,帮助开发者做出更适合自身需求的选择。
  • android使用socks5的教程