# 表格标注工具流程 ```mermaid flowchart TD Start([开始标注]) --> SelectDataSource{选择数据源} SelectDataSource -->|预定义数据源| PredefinedSource[加载预定义数据源配置
table_line_generator/backend/config/data_sources/*.yaml] SelectDataSource -->|临时选择数据源| ManualSource[手动配置数据源] ManualSource --> SetImageDir[设置图片目录] SetImageDir --> SetJsonDir[设置JSON目录
包含表格bbox和单元格bbox] SetJsonDir --> SetOutputDir[设置输出目录
标注结果保存位置] PredefinedSource --> LoadFiles[加载图片和JSON文件对] SetOutputDir --> LoadFiles LoadFiles --> SelectPage[选择要标注的页面] SelectPage --> DetectTableRegion{OCR检测表格区域} DetectTableRegion -->|检测正确| UseDetectedRegion[使用OCR检测的表格区域] DetectTableRegion -->|检测有误| ManualDefineRegion[人工框定表格区域] UseDetectedRegion --> CheckTemplate{是否有可用模板?} ManualDefineRegion --> CheckTemplate CheckTemplate -->|有模板| SelectTemplate[选择标注模板] CheckTemplate -->|无模板| ManualAnnotation[手动标注表格线] SelectTemplate --> AdaptTemplate[模板自适应] AdaptTemplate --> AutoDrawLines[自动绘制表格线
竖线: 相对坐标
横线: OCR自适应计算] AutoDrawLines --> ReviewLines{检查标注结果} ManualAnnotation --> ReviewLines ReviewLines -->|需要调整| EditLines[编辑表格线] ReviewLines -->|标注完成| SaveAnnotation[保存标注结果] EditLines --> EditOptions{编辑操作} EditOptions -->|移动| MoveLines[移动横竖线] EditOptions -->|增加| AddLines[添加横竖线] EditOptions -->|删除| DeleteLines[删除横竖线] MoveLines --> ReviewLines AddLines --> ReviewLines DeleteLines --> ReviewLines SaveAnnotation --> SaveToOutput[保存到输出目录
生成_structure.json文件] SaveToOutput --> CreateTemplate{是否创建模板?} CreateTemplate -->|是| SaveAsTemplate[保存为标注模板
针对此类交易流水] CreateTemplate -->|否| NextPage{继续标注其他页面?} SaveAsTemplate --> NextPage NextPage -->|是| SelectPage NextPage -->|否| End([标注完成]) style Start fill:#e1f5ff style End fill:#c8e6c9 style SelectDataSource fill:#fff3e0 style CheckTemplate fill:#fff3e0 style ReviewLines fill:#fff3e0 style CreateTemplate fill:#fff3e0 style NextPage fill:#fff3e0 ``` ## 流程说明 ### 1. 数据源选择 - **预定义数据源**:从配置文件加载,包含图片目录、JSON目录和输出目录 - **临时数据源**:手动设置三个目录路径 ### 2. 表格区域确定 - 优先使用OCR检测的表格区域 - 如果检测有误,可以人工框定表格区域 ### 3. 表格线标注 - **无模板模式**:手动添加、移动、删除横竖线 - **模板模式**:选择模板后自动适配,竖线使用相对坐标,横线根据OCR自适应计算 ### 4. 模板管理 - 可以将当前标注结果保存为模板 - 下次标注时可以选择模板自动完成标注 ### 5. 批量处理 - 支持连续标注多个页面 - 每个页面的标注结果独立保存