# paddleocr_api_service **Repository Path**: fengfeng-tech/paddleocr_api_service ## Basic Information - **Project Name**: paddleocr_api_service - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-07-28 - **Last Updated**: 2025-07-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # PaddleOCR API Service 🚀 基于PaddleOCR的生产级图片文字识别RESTful API服务 ## 📋 项目简介 PaddleOCR API Service 是一个基于Flask框架和PaddleOCR的高性能、高稳定性文字识别API服务。采用队列机制确保100%成功率,支持通过HTTP接口进行图片文字识别,具有完整的错误处理、自动图片优化和性能监控功能。 ## 🏗️ 项目结构 ``` paddleocr_api_service/ ├── app.py # 🚀 主应用程序(生产版本) ├── start.py # 🎯 便捷启动脚本 ├── requirements.txt # 📦 依赖包列表 ├── README.md # 📚 项目文档 └── examples/ # 📋 使用示例 ├── api_client.py # 客户端示例 └── test_api.py # API测试脚本 ``` ## ✨ 核心特性 - 🎯 **RESTful API设计**:标准的HTTP API接口,易于集成 - 🖼️ **多格式图片支持**:支持JPG、PNG、BMP等常见图片格式 - 🌐 **URL图片识别**:直接传入图片链接地址进行识别 - 🇨🇳 **中文优化**:专门优化中文文字识别效果 - 📊 **详细结果信息**:返回文字内容、置信度、统计信息等 - 🛡️ **100%成功率**:队列机制确保请求处理的稳定性 - 🚀 **预加载模型**:启动时初始化,避免首次请求延迟 - 🖼️ **自动图片优化**:大图片自动缩放,提升处理速度 - 📝 **性能监控**:详细的时间分析和性能统计 - 📚 **Swagger文档**:完整的API文档和在线测试界面 - 🔧 **生产就绪**:经过充分测试的高性能架构 ## 🛠️ 技术栈 - **Web框架**: Flask 3.1.1 - **OCR引擎**: PaddleOCR 2.7.3 - **图像处理**: OpenCV, Pillow - **HTTP客户端**: Requests - **Python版本**: 3.8+ ## 🚀 快速开始 ### 1. 安装依赖 ```bash # 进入项目目录 cd paddleocr_api_service # 安装Python依赖 pip install -r requirements.txt ``` ### 2. 启动服务 ```bash # 方式1: 使用便捷启动脚本(推荐) python start.py # 方式2: 直接运行主应用 python app.py ``` ### 3. 验证服务 ```bash # 健康检查 curl http://localhost:5000/api/v1/health # 获取服务信息 curl http://localhost:5000/api/v1/info # 访问Swagger文档 # 浏览器打开: http://localhost:5000/docs/ ``` ## 📚 API接口 ### 📖 Swagger文档 - **地址**: `http://localhost:5000/docs/` - **功能**: 完整的API文档、参数说明、在线测试 ### 1. OCR文字识别 - **接口**: `POST /api/v1/ocr` - **参数**: `{"image_url": "https://example.com/image.jpg"}` ### 2. 健康检查 - **接口**: `GET /api/v1/health` ### 3. 服务信息 - **接口**: `GET /api/v1/info` ## 🧪 使用示例 ### Python客户端 ```python import requests # OCR识别 response = requests.post( "http://localhost:5000/api/v1/ocr", json={"image_url": "https://example.com/image.jpg"} ) result = response.json() if result['success']: print("识别成功!") for res in result['data']['results']: print(f"识别文字: {res['complete_text']}") ``` ### 运行测试 ```bash # 运行API功能测试 python examples/test_api.py # 使用客户端示例 python examples/api_client.py ``` ## ⚙️ 配置说明 OCR参数已在 `app.py` 中进行了优化配置: - **图片优化**:大图片自动缩放到2048像素以内 - **检测参数**:`text_det_limit_side_len=960` 限制检测边长 - **批处理**:`text_recognition_batch_size=6` 优化识别速度 - **功能精简**:关闭不必要的功能模块以提升性能 ## 🔧 错误处理 ### 常见错误码 - `MISSING_PARAMETER` (400): 缺少必需参数 - `INVALID_URL_FORMAT` (400): 无效的URL格式 - `DOWNLOAD_FAILED` (500): 图片下载失败 - `OCR_PROCESSING_ERROR` (500): OCR处理错误 ## 📊 部署建议 ### 生产环境 ```bash # 使用gunicorn部署 pip install gunicorn gunicorn -w 4 -b 0.0.0.0:5000 app:app ``` ### Docker部署 ```dockerfile FROM python:3.8-slim WORKDIR /app COPY requirements.txt . RUN pip install -r requirements.txt COPY . . EXPOSE 5000 CMD ["python", "app.py"] ``` ## 📞 技术支持 如有问题或建议,请联系开发团队。 ## 📄 许可证 本项目采用 MIT 许可证。