Windows系统上离线部署Python运行飞桨(PaddlePaddle) OCR服务

1. 离线准备Python环境

1.1 在联网机器下载所需组件
bash 复制代码
# 创建项目目录
mkdir paddle_ocr_offline
cd paddle_ocr_offline

# 下载Python安装包 (以Python 3.8为例)
pip download python==3.8.10 --platform win_amd64 --only-binary=:all:

# 下载PaddlePaddle和OCR库
pip download paddlepaddle==2.4.2 paddleocr==2.7.0.3 -f https://www.paddlepaddle.org.cn/whl/windows.html

# 下载依赖库 (实际依赖以pip show paddlepaddle为准)
pip download numpy opencv-python shapely scikit-image pyclipper lmdb tqdm
1.2 打包依赖

将下载的 .whl 文件和 Python 安装包复制到离线机器。


2. 离线安装Python环境

2.1 安装Python

运行 Python 安装包(如 python-3.8.10-amd64.exe),勾选 Add to PATH。

2.2 安装依赖库
cmd 复制代码
:: 进入依赖目录
cd /d D:\paddle_ocr_offline

:: 安装所有依赖
pip install --no-index --find-links=. paddlepaddle-2.4.2-cp38-cp38-win_amd64.whl
pip install --no-index --find-links=. paddleocr-2.7.0.3-py3-none-any.whl
pip install --no-index --find-links=. numpy opencv_python shapely scikit_image pyclipper lmdb tqdm

3. 部署飞桨OCR服务

创建Python脚本 ocr_service.py:

python 复制代码
from paddleocr import PaddleOCR
from flask import Flask, request, jsonify
# 初始化OCR模型,启用空格识别
ocr = PaddleOCR(
    use_angle_cls=True,
    lang='ch',# 语言
    use_gpu=False,
    use_space_char=True,  # 关键:启用空格识别
    det_model_dir='C:/Users/Administrator/.paddleocr/whl/det/ch/ch_ppocr_server_v2.0_det_infer',
    rec_model_dir='C:/Users/Administrator/.paddleocr/whl/rec/ch/ch_ppocr_server_v2.0_rec_infer',
    cls_model_dir='C:/Users/Administrator/.paddleocr/whl/cls/ch_ppocr_mobile_v2.0_cls_infer'
)
app = Flask(__name__)
@app.route('/ocr', methods=['POST'])
def handle_ocr():
    image = request.files['image'].read()
    result = ocr.ocr(image, cls=True)
    return jsonify(result)

if __name__ == '__main__':
    app.run(host='0.0.0.0', port=5000)
模型离线准备(关键!)
  • 从PaddleOCR官方GitHub下载模型文件:

    • ch_ppocr_server_v2.0_det_infer.tar (文本检测)
    • ch_ppocr_server_v2.0_rec_infer.tar (文本识别)
    • ch_ppocr_mobile_v2.0_cls_infer.tar (方向分类)
  • 解压到离线机器目录:

    复制代码
    C:\Users\<用户名>\.paddleocr\whl\

5. 离线部署注意事项

  1. 模型文件

    必须提前下载模型并放置到 C:\Users\<用户名>\.paddleocr\whl\ 目录,否则首次运行会尝试联网下载。

  2. 环境一致性

    • Python版本需一致(推荐3.7/3.8)
    • 所有.whl文件必须与操作系统架构匹配(Windows 64位)
  3. 路径处理

    • Java调用时使用绝对路径
    • 路径中避免空格和特殊字符
  4. 错误排查

    • 在命令行测试Python脚本:

      bash 复制代码
      python ocr_service.py D:\test.png
    • 检查Java进程的输入流和错误流


相关推荐
天天被压力2 小时前
【A股分钟级高频数据完全手册 #07】北交所历史分钟K线接口:京市Pro版分时批量
java·人工智能·python
天天被压力2 小时前
【A股分钟级高频数据完全手册 #08】股票日、分时数据接口对比:普通分时与Pro版差异实测
java·人工智能·python
特立独行的猫A2 小时前
AI 时代,我为什么推荐用 cj-tauri 开发桌面应用
java·后端·python
小lo想吃棒棒糖2 小时前
把机器人训练从 GPU 搬到昇腾 NPU:启元 Q1 起身动作 PPO 训练全记录
python·机器人·昇腾·启元机器人
Thanks_ks2 小时前
【第 006 讲】搭建 PyCharm 开发环境:PyCharm 的下载与安装 | 初始设置与常用配置
ide·python·pycharm·开发工具·jetbrains·开发环境·集成开发环境
csdn_aspnet3 小时前
Redis 入门:Windows、Mac安装指南
数据库·windows·redis·缓存·mac
青少儿编程课堂3 小时前
蓝桥杯青少组图形化省考报名倒计时·全国青少年信息素养大赛·电子学会图形化考级:校园黑白棋人机对战解析
c++·python·算法·bfs·信息学竞赛
tellmewhoisi4 小时前
nlp:知识库检索和dify知识库创建
python·自然语言处理
2601_968793144 小时前
Python Requests 轻量自动化:无需浏览器,实现真人级账号浏览模拟
开发语言·python·自动化
段一凡-华北理工大学13 小时前
工业智能体:从Codex/Claude到项目实战~系列文章05:从“AI助手“到“工业智能体“:能力跃迁与落地范式
人工智能·python·claude·codex·工业智能体·高炉炼铁智能化