# 有线表格识别技术文档 本文档详细说明 UNET 有线表格识别模块的技术实现细节,适用于开发人员进行二次开发和问题排查。 ## 概述 有线表格识别模块位于 `models/adapters/wired_table/`,提供基于深度学习的表格线检测、网格恢复和文本填充功能。与 VLM 方法相比,UNET 方法更适合处理规则的有线表格,具有更高的精度和更快的处理速度。 ## 模块架构 wired_table/ ├── init.py # 模块初始化 ├── debug_utils.py # 调试工具(可视化输出) ├── ocr_formatter.py # OCR 格式转换 ├── skew_detection.py # 倾斜检测与矫正 ⭐ ├── grid_recovery.py # 网格恢复(表格线 → 单元格)⭐ ├── text_filling.py # 文本填充(OCR → 单元格)⭐ ├── html_generator.py # HTML 生成 └── visualization.py # 可视化工具 主入口:`models/adapters/mineru_wired_table.py` - `MinerUWiredTableRecognizer` --- ## 核心流程 ### 完整处理流程 ```mermaid graph TB A[输入:表格图片 + OCR框] --> B[1. OCR预处理
ocr_formatter.py] B --> C[2. UNET线检测
MinerU模型] C --> D{启用倾斜矫正?} D -->|是| E[3. 倾斜检测
skew_detection.py] D -->|否| G E --> F[4. 图片与坐标矫正
cv2.warpAffine] F --> G[5. 网格恢复
grid_recovery.py] G --> H[6. 文本填充
text_filling.py] H --> I[7. HTML生成
html_generator.py] I --> J[8. 坐标逆转换
回到原图坐标系] J --> K{识别成功?} K -->|是| L[返回HTML + 坐标] K -->|否| M[Fallback到VLM] style E fill:#e1f5ff style F fill:#e1f5ff style G fill:#fff4e1 style H fill:#fff4e1 ```