手把手0基础Centos下安装与部署paddleOcr 教程
2025.09.26 19:54浏览量:2简介:零基础CentOS用户必看!本文详细讲解如何在CentOS系统下从零开始安装并部署PaddleOCR,涵盖环境准备、依赖安装、代码下载、模型配置到运行测试的全流程。
手把手0基础CentOS下安装与部署PaddleOCR教程
引言
PaddleOCR是百度开源的一款基于PaddlePaddle深度学习框架的OCR(光学字符识别)工具库,支持中英文、多语言识别以及版面分析等功能。对于需要在CentOS服务器上部署OCR服务的开发者或企业用户来说,掌握PaddleOCR的安装与部署是关键一步。本文将针对0基础用户,详细讲解如何在CentOS系统下完成PaddleOCR的安装与部署。
环境准备
1. 确认系统版本
首先,确保你的CentOS系统版本符合要求。PaddleOCR推荐使用CentOS 7或更高版本。可以通过以下命令查看系统版本:
cat /etc/centos-release
2. 安装必要工具
在开始安装前,需要安装一些基础工具,如git、wget、unzip等:
yum install -y git wget unzip
3. 安装Python环境
PaddleOCR支持Python 3.6及以上版本。推荐使用Anaconda或Miniconda来管理Python环境,以避免与系统自带的Python冲突。
安装Miniconda
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.shbash Miniconda3-latest-Linux-x86_64.sh
按照提示完成安装后,重新加载终端或运行source ~/.bashrc使环境变量生效。
创建并激活Python环境
conda create -n paddle_env python=3.8conda activate paddle_env
安装PaddlePaddle
PaddleOCR依赖于PaddlePaddle深度学习框架。根据你的GPU情况选择安装CPU或GPU版本的PaddlePaddle。
CPU版本安装
pip install paddlepaddle -i https://mirror.baidu.com/pypi/simple
GPU版本安装(需有NVIDIA GPU及CUDA环境)
首先确认你的CUDA和cuDNN版本,然后访问PaddlePaddle官方安装指南选择对应的安装命令。例如,对于CUDA 10.2:
pip install paddlepaddle-gpu==2.1.0.post102 -f https://www.paddlepaddle.org.cn/whl/linux/mkl/avx/stable.html
下载PaddleOCR
使用git克隆PaddleOCR仓库到本地:
git clone https://github.com/PaddlePaddle/PaddleOCR.gitcd PaddleOCR
安装依赖
进入PaddleOCR目录后,安装项目所需的Python依赖:
pip install -r requirements.txt
下载预训练模型
PaddleOCR提供了多种预训练模型,包括文本检测、文本识别和版面分析模型。你可以根据需要下载相应的模型。
下载中文OCR模型
cd PaddleOCR/ppocr/utilswget https://paddleocr.bj.bcebos.com/dygraph_v2.0/ch/ch_ppocr_mobile_v2.0_det_infer.tarwget https://paddleocr.bj.bcebos.com/dygraph_v2.0/ch/ch_ppocr_mobile_v2.0_rec_infer.tarwget https://paddleocr.bj.bcebos.com/dygraph_v2.0/ch/ch_ppocr_mobile_v2.0_cls_infer.tar# 解压模型tar -xf ch_ppocr_mobile_v2.0_det_infer.tartar -xf ch_ppocr_mobile_v2.0_rec_infer.tartar -xf ch_ppocr_mobile_v2.0_cls_infer.tar
配置模型路径
在PaddleOCR/configs目录下,找到对应的配置文件(如ch_ppocr_mobile_v2.0_det_infer.yml、ch_ppocr_mobile_v2.0_rec_infer.yml),修改其中的Global.infer_img(输入图片路径,测试时可忽略)和Global.rec_model_dir、Global.det_model_dir、Global.cls_model_dir等参数,指向你下载的模型路径。
运行测试
文本检测与识别
使用以下命令进行文本检测与识别测试:
python tools/infer_rec.py -c configs/rec/ch_ppocr_mobile_v2.0_rec_infer.yml -o Global.infer_img=./doc/imgs/11.jpg Global.rec_model_dir=./ppocr/utils/ch_ppocr_mobile_v2.0_rec_infer/ Global.det_model_dir=./ppocr/utils/ch_ppocr_mobile_v2.0_det_infer/ Global.use_gpu=False
版面分析(可选)
如果需要版面分析功能,可以下载对应的版面分析模型,并修改配置文件后运行:
# 下载版面分析模型(示例)wget https://paddleocr.bj.bcebos.com/dygraph_v2.0/ch/ch_ppocr_mobile_v2.0_cls_infer.tartar -xf ch_ppocr_mobile_v2.0_cls_infer.tar# 运行版面分析python tools/infer_cls.py -c configs/cls/ch_ppocr_mobile_v2.0_cls_infer.yml -o Global.infer_img=./doc/imgs/11.jpg Global.cls_model_dir=./ppocr/utils/ch_ppocr_mobile_v2.0_cls_infer/ Global.use_gpu=False
部署为Web服务(可选)
为了将PaddleOCR部署为Web服务,可以使用Flask或FastAPI等框架。以下是一个简单的Flask示例:
安装Flask
pip install flask
创建Flask应用
在PaddleOCR目录下创建app.py文件:
from flask import Flask, request, jsonifyfrom paddleocr import PaddleOCRapp = Flask(__name__)ocr = PaddleOCR(use_angle_cls=True, lang="ch") # 初始化OCR,使用中文模型@app.route('/ocr', methods=['POST'])def ocr_api():if 'file' not in request.files:return jsonify({'error': 'No file uploaded'}), 400file = request.files['file']img_path = "./temp.jpg"file.save(img_path)result = ocr.ocr(img_path, cls=True)# 处理结果,转换为JSON友好格式result_json = []for line in result:if line:for item in line:if isinstance(item, list) and len(item) > 1:result_json.append({'coordinates': item[0],'text': item[1][0],'confidence': item[1][1]})return jsonify(result_json)if __name__ == '__main__':app.run(host='0.0.0.0', port=5000)
运行Flask应用
python app.py
现在,你可以通过POST请求向http://<你的服务器IP>:5000/ocr上传图片文件,获取OCR识别结果。
总结与优化建议
总结
本文详细讲解了如何在CentOS系统下从零开始安装并部署PaddleOCR,包括环境准备、依赖安装、代码下载、模型配置到运行测试的全流程。对于0基础用户来说,只要按照步骤操作,就能成功部署PaddleOCR服务。
优化建议
- 性能优化:对于生产环境,建议使用GPU版本的PaddlePaddle,并调整batch_size等参数以提高处理速度。
- 模型选择:根据实际需求选择合适的模型,如移动端轻量级模型或服务端高性能模型。
- 容器化部署:考虑使用Docker容器化部署PaddleOCR,便于管理和迁移。
- 安全加固:对于Web服务,应添加身份验证、输入验证等安全措施,防止恶意攻击。
通过以上步骤和建议,你可以在CentOS系统上高效、稳定地部署PaddleOCR服务,满足各种OCR应用场景的需求。

发表评论
登录后可评论,请前往 登录 或 注册