# image_process **Repository Path**: test_0009/image_process ## Basic Information - **Project Name**: image_process - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-01-09 - **Last Updated**: 2026-01-10 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 图片表格OCR识别与结构化提取系统 高精度图片表格OCR识别服务,支持将图片中的表格自动识别并转换为结构化的JSON数据。 ## ✨ 功能特性 - 🎯 **高精度识别**: 基于 PaddleOCR + PPStructure,针对中文场景深度优化 - 📊 **多格式支持**: 支持有边框表格和无边框表格识别 - 🔄 **智能重试**: 低置信度结果自动进行二次识别 - 📈 **准确率监控**: 提供详细的置信度分布统计 - 🚀 **高性能**: 支持批量处理,模型预加载 ## 📋 系统要求 - Python 3.11+ - macOS / Linux / Windows ## 🛠️ 快速开始 ### 1. 安装依赖 ```bash # 使用 uv (推荐) uv pip install -e . # 或使用 pip pip install -e . ``` ### 2. 启动服务 ```bash # 开发模式 uvicorn app.main:app --reload --host 0.0.0.0 --port 9001 # 或直接运行 python -m app.main ``` ### 3. 访问文档 - Swagger UI: - ReDoc: ## 📖 API 使用 ### 单图上传 ```bash curl -X POST "http://localhost:9001/api/v1/img/upload" \ -H "Content-Type: multipart/form-data" \ -F "file=@table.png" ``` ### 响应示例 ```json { "code": 0, "message": "success", "data": { "columns": [ {"name": "名次", "index": 0}, {"name": "单位", "index": 1}, {"name": "姓名", "index": 2} ], "table": [ {"0": "1", "1": "河北", "2": "李明旭"}, {"0": "2", "1": "四川", "2": "张伟哲"} ], "row_count": 2, "column_count": 3, "confidence": 0.9523, "accuracy_metrics": { "total_cells": 6, "average_confidence": 0.9523, "confidence_distribution": { "high": 0.83, "medium": 0.17, "low": 0.0 } }, "process_time_ms": 1234 } } ``` ### 批量上传 ```bash curl -X POST "http://localhost:9001/api/v1/batch/upload" \ -H "Content-Type: multipart/form-data" \ -F "files=@table1.png" \ -F "files=@table2.png" ``` ## 📁 项目结构 ```text image_process/ ├── app/ │ ├── __init__.py │ ├── main.py # FastAPI应用入口 │ ├── config.py # 配置管理 │ ├── api/ │ │ └── v1/ │ │ └── image_router.py # 图片处理路由 │ ├── business/ │ │ ├── image_processor.py # 图像预处理 │ │ ├── table_extractor.py # 表格提取 │ │ └── ocr_engine.py # OCR引擎封装 │ ├── models/ │ │ └── response.py # 响应模型 │ └── utils/ │ └── logger.py # 日志配置 ├── tests/ │ └── test_api.py # API测试 ├── docs/ │ └── TECHNICAL_DESIGN.md # 技术设计文档 ├── pyproject.toml └── README.md ``` ## ⚙️ 配置说明 支持通过环境变量配置: | 变量名 | 默认值 | 说明 | |--------|--------|------| | `OCR_USE_GPU` | `false` | 是否使用GPU加速 | | `OCR_LANG` | `ch` | OCR语言(ch/en) | | `CONFIDENCE_THRESHOLD` | `0.85` | 置信度阈值 | | `MAX_FILE_SIZE` | `20971520` | 最大文件大小(bytes) | | `ENABLE_RETRY` | `true` | 是否启用低置信度重试 | ## 🧪 运行测试 ```bash # 安装开发依赖 uv pip install -e ".[dev]" # 运行测试 pytest tests/ -v ``` ## 📄 技术文档 详细技术设计请参阅 [TECHNICAL_DESIGN.md](docs/TECHNICAL_DESIGN.md) ## 📜 许可证 MIT License ## 使用脚本 ### 构建镜像 docker-compose build ### 启动服务 docker-compose up -d ### 停止服务 docker-compose ### 查看日志 docker-compose logs -f