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.pswp.cn/diannao/97244.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/97244.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/97244.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Nginx的主要配置文件nginx.conf詳細解讀——及其不間斷重啟nginx服務等操作

一、Nginx的配置文件nginx.conf解析 1.1、查看現有已安裝的Nginx版本及其編譯配置參數等信息 查看現在已有使用的Nginx版本及其編譯配置參數等信息序號安裝編譯Nginx的方式查看現在已有的Nginx版本及其編譯配置參數信息方法1使用【yum install nginx -y】命令安裝的Nginx #查看…

可改善能源利用水平、削減碳排放總量,并為可再生能源規模化發展提供有力支撐的智慧能源開源了

一、平臺簡介 AI 視頻監控平臺是一款功能強大且操作便捷的實時算法視頻監控系統。其核心愿景在于打破各大芯片廠商間的技術壁壘,省去繁瑣重復的適配流程,實現芯片、算法與應用的全流程協同組合 —— 這一創新可幫助企業級應用降低約 95% 的開發成本。同…

“上門做飯”平臺的核心技術棧與運營壁壘是什么?

上門做飯會徹底顛覆外賣行業,成為下一個萬億級風口嗎?答案可能出乎你的意料——不會。但這背后,藏著一個更值得關注的真相。前段時間,杭州上門做飯姑娘的新聞刷屏全網:一天接5-6單,每單最低88元。很多人第一…

企業內網與互聯網網絡安全改造升級深度解析

在信息化時代,企業內網和互聯網的安全性直接影響著業務的穩定性和數據的保密性。然而,隨著網絡威脅的不斷升級,傳統的網絡安全防護手段已難以滿足現代企業的需求。為了應對復雜多變的安全挑戰,構建“邊界清晰、可管可控、多層防御…

參數模板優化配置指南:從基礎到進階的完整解決方案

在數字化運營時代,參數模板優化配置已成為提升系統性能的關鍵環節。本文將深入解析參數配置的核心邏輯,從基礎概念到高級調優技巧,幫助技術人員構建高效穩定的運行環境。我們將重點探討參數模板的標準化管理方法,以及如何通過精細…

Ubuntu 22.04 中安裝 ROS2 Humble

1.4.1前置配置 語言環境支持 UTF-8: sudo apt update && sudo apt install locales sudo locale-gen en_US en_US.UTF-8 sudo update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 export LANG=en_US.UTF-8 啟用 Universe 倉庫: sudo apt install software-properti…

Python學習-day1

Python學習網站 廖雪峰的官方網站 Python教程 菜鳥教程 Phtyon3教程 W3school Python教程 簡明教程 Python教程 牛客網 Python3教程 Python學習網 Python123 Python官網 Python官方教程中文版 Python在線工具 菜鳥工具 Python3在線運行 W3chool在線編譯 Python3在線…

為什么外貿企業管理需要外貿CRM系統

CRM(Customer Relationship Management)系統,即客戶關系管理軟件,是指利用軟件、硬件和網絡技術,為企業建立一個客戶信息收集、管理、分析和利用的信息系統。為什么外貿企業需要外貿CRM管理系統?傳統的客戶…

Qt基礎_xiaozuo

1.Qt基礎Qt三大機制&#xff1a;對象樹&#xff0c;信號和槽&#xff0c;事件 特殊類的名詞&#xff1a;窗口&#xff0c;組件&#xff0c;控件 2.標準IO #include <QDebug>int main(int argc, char *argv[]) {qDebug() << "字符串&#xff1a;" <&l…

解密PCI Express:現代計算機的“高速公路“是如何設計的?

解密PCI Express&#xff1a;現代計算機的"高速公路"是如何設計的&#xff1f; 當你點擊鼠標打開一個大型游戲時&#xff0c;數據是如何從固態硬盤飛速傳輸到顯卡的&#xff1f;這背后離不開一個關鍵技術的支持——PCI Express。 在現代計算機系統中&#xff0c;各種…

軟件安裝教程(二):Pycharm安裝與配置(Windows)

文章目錄前言一、準備工作&#xff08;安裝前要求&#xff09;二、下載與安裝 PyCharm步驟 1&#xff1a;訪問 PyCharm 官網步驟 2&#xff1a;運行安裝程序步驟 3&#xff1a;完成安裝并啟動三、首次啟動與配置四、創建項目與配置虛擬環境創建新項目配置虛擬環境五、安裝必要的…

Java全棧開發實戰:從基礎到微服務的深度探索

Java全棧開發實戰&#xff1a;從基礎到微服務的深度探索 一、面試開場 面試官&#xff08;專業且親切&#xff09;&#xff1a; 你好&#xff0c;很高興見到你。我是這次面試的負責人&#xff0c;接下來我們會圍繞你的技術背景和項目經驗進行一些深入的交流。我們希望了解你在實…

Redis搭建哨兵模式一主兩從三哨兵

Redis搭建哨兵模式一主兩從三哨兵 目錄 Redis搭建哨兵模式一主兩從三哨兵 一、Redis哨兵模式 1. 哨兵模式原理&#xff1a; 2. 哨兵的作用&#xff1a; 3.哨兵的結構 4.故障轉移機制 故障轉移過程如下&#xff1a; 主節點的選舉條件&#xff1a; 二、節點規劃 三、實…

用 C++ 創建單向鏈表 forward list

文章目錄前言1. 源碼 forward_list.hpp2. 使用示例前言 用 C 創建了一個單向鏈表&#xff0c;用于練習使用現代 C 的特性&#xff0c;包括 3 點&#xff1a; 對于容器&#xff0c;使用 std::initializer_list 作為參數創建構造函數。 C Core Guidelines 中&#xff0c;推薦使…

[肥用云計算] Serverless 多環境配置

前言 在 Serverless 應用開發中&#xff0c;多環境配置是一個繞不開的話題。從開發、測試到生產&#xff0c;每個環境都有其特定的配置需求。阿里云 Serverless Devs 雖然提供了官方的 env 命令來管理多環境&#xff0c;但在實際使用中&#xff0c;我發現官方方案存在一些局限…

LeetCode算法日記 - Day 25: 數組中的第K個最大元素、庫存管理III

目錄 1 數組中的第K個最大元素 1.1 題目解析 1.2 解法 1.3 代碼實現 2. 庫存管理III 2.1 題目解析 2.2 解法 2.3 代碼實現 1 數組中的第K個最大元素 215. 數組中的第K個最大元素 - 力扣&#xff08;LeetCode&#xff09; 給定整數數組 nums 和整數 k&#xff0c;請返…

10分鐘快速搭建 SkyWalking 服務

從 0 開始入門 SkyWalking&#xff0c;搭建 SkyWalking 服務&#xff0c;并接入 Java 項目中實現分布式鏈路追蹤。 Tags 目錄&#xff1a; 1. 概述2. 搭建 SkyWalking 單機環境3. 搭建 SkyWalking 集群環境4. 告警5. 注意事項6. Spring Boot 使用示例 1. 概述 1.1 概念 …

IDEA之GO語言開發

最近因為接到了需求&#xff0c;說是先把目前公司的JAVA服務慢慢替換成GO語言&#xff0c;于是去了解了一下。 但在開發之前&#xff0c;因為用習慣了IDEA&#xff0c;就想著能不能在IDEA上進行開發&#xff0c;結果真讓我找到了。 作為學習記錄一下 注意&#xff1a;基于IDEA…

rapid_table v3.0.0發布了

更新日志 rapid_table v3.0.0 主要更新是支持 batch 推理&#xff0c;模型并沒有升級哈&#xff01; 因為版本號是根據語義化版本號來走的&#xff0c;這次更改了接口的返回值。因此從 v2.0.3 升級到了 v3.0.0。 返回值具體變化如下&#xff1a; # v2.0.3 class RapidTableO…

若依微服務一鍵部署(RuoYi-Cloud):Nacos/Redis/MySQL + Gateway + Robot 接入(踩坑與修復全記錄)

本文記錄我把 高仙&#xff08;Gaussian&#xff09;機器人對接項目 從“本機能跑”遷到 Docker 一鍵部署 的全過程&#xff1a; 包含 四個后端服務&#xff08;gateway/auth/system/robot&#xff09;、前端 Nginx、MySQL/Redis、Nacos 配置中心、Sentinel 控制臺 的改造要點、…