# Local Ocr

> 本地离线 HLA 分型报告 OCR 解析。支持多种医院报告格式（8204-, 8316-, 8273-, 20251102xxxx, 密集表头等），自动识别并提取样本信息与等位基因数据。

- Skill: `dvcrn/local-ocr` (Agent Skill, multi-file: 3 files)
- Install (CLI): `npx skillmds@latest add dvcrn/local-ocr`
- Raw SKILL.md: https://api.skillmd.com/api/skills/dvcrn/local-ocr/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: dvcrn (https://skillmd.com/u/dvcrn)
- Updated: 2026-09-08
- Page: https://skillmd.com/skills/dvcrn/local-ocr

---


# Local OCR Skill

本技能提供**离线、隐私安全**的 HLA 分型报告图片解析功能。使用 EasyOCR 进行中文+英文识别，无需联网，不上传任何数据。

## Capabilities

- ✅ **多格式自动检测**：识别至少 3 种主要报告布局
- ✅ **Y 轴行排序**：确保上下等位基因正确对应
- ✅ **元数据提取**：样本编号、姓名、性别、年龄、关系
- ✅ **OCR 错误修正**：`.` → `:`，`016` → `01G`，`;` → `:`
- ✅ **隐私保护**：完全本地处理，无外部 API

## Usage

调用方式：
```
exec: python3 scripts/hla_ocr.py <image_path>
```

输出 JSON 结构：
```json
{
  "status": "success",
  "image": "filename.jpg",
  "samples": [
    {
      "id": "8204-0",
      "name": "张三",
      "gender": "男",
      "age": "35",
      "relation": "患者",
      "type": "-",
      "alleles": {
        "HLA-A": "02:06/02:07",
        "HLA-B": "46:01/51:01",
        "HLA-C": "01:02/14:02",
        "HLA-DRB1": "09:01/14:05",
        "HLA-DQB1": "03:03/05:03",
        "HLA-DPB1": "02:01/05:01"
      }
    }
  ]
}
```

## Supported Formats

| 格式特征 | 示例前缀 | 说明 |
|----------|----------|------|
| Meta 行含角色+ID | 8204-, 8304-, 8316-, 8273- | 一行包含“患者/供者”和样本编号 |
| 分离行格式 | 20251102xxxx | 姓名行、ID行、性别年龄行分离 |
| 密集表头 | 无固定前缀 | 表头 + 姓名列 + 12 列数据（每位点 2 等位基因） |

## Installation

确保已安装：
- Python 3.12+
- EasyOCR：`pip install easyocr opencv-python`
- 中文语言包：首次运行自动下载

## Notes

- 首次运行会下载 EasyOCR 模型 (~100MB)，请耐心等待。
- 图片分辨率建议 ≥ 800px 宽以保证识别精度。
- 输出等位基因格式统一为 `XX:XX`（两位数字+冒号+两位数字，`01G` 特殊处理）。

