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

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.xdnf.cn/news/19079.html

相关文章:

  • 【Mentor Xpedition】预习一下
  • 投资之路:财富积累与人生规划的智慧
  • UART和SPI区别
  • ros2--topic/话题--接口
  • 多线程图像发送处理器的设计与实现
  • 12、做中学 | 初一上期 Golang函数 包 异常
  • cssword属性
  • ubuntu 安装 vllm
  • Linux笔记13——shell编程基础-7
  • 基于SpringBoot和Thymeleaf开发的英语学习网站
  • ubuntu24.04 QT中配置opencv4.12
  • FreeRTOS基础知识记录
  • MySQL 中有哪些锁类型?
  • 华为交换机S5700设置acl
  • 衡石SENSE 6.0技术解析:Workflow到Agent模式如何重塑计算框架
  • ADC模数转换
  • Android init 进程部分理论
  • 解决使用OSS的multipartUpload方法上传大文件导致内存溢出的问题
  • 设计模式-行为型模式-命令模式
  • 【编号513】2025年全国地铁矢量数据
  • 从混乱到高效:ITSM软件如何重塑企业IT管理的新格局
  • 淘宝四个月造了一个超越美团的“美团”
  • 对接印度股票市场 数据源API
  • 逻辑漏洞 跨站脚本漏洞(xss)
  • 滚珠导轨如何赋能精密制造?
  • 【技术分享】系统崩溃后产生的CHK文件如何恢复?完整图文教程(附工具推荐)
  • 采用机器学习的苗期棉株点云器官分割与表型信息提取
  • DINOv3:自监督视觉模型的新里程碑!
  • Matlab实现基于CPO-QRCNN-BiGRU-Attention注意力多变量时间序列区间预测
  • Rust:所有权