Repolode
BIT-DataLab

BIT-DataLab/Edit-Banana

将静态图表图片转换为可编辑的 DrawIO(XML)文件,结合 SAM 3 分割、OCR 与公式识别。

Star
5,498
Fork
353
未关闭 Issue
40
最近提交
3天前

这是什么?

Edit Banana 是一个基于 Python 的工具,可以把图表、流程图、技术示意图和公式的静态图片转换为可编辑的 DrawIO XML 文件。转换后,每个元素都会作为独立图形保留,可以在 DrawIO 中直接拖动、修改样式或改写文字。

处理流程中,系统使用微调过的 SAM 3 模型分割图中元素,通过本地 Tesseract OCR 或 PaddleOCR 检测文字,并将文字与公式区域送入 Pix2Text 转换为 LaTeX。多模态大模型会引导多轮提取过程,最终结果合并为一个 DrawIO XML 文件。输入支持 PNG、JPG、BMP、TIFF 和 WebP 格式。

项目提供命令行入口(main.py),可处理单张或批量图片;另有基于 FastAPI 的服务(server_pa.py),提供 /convert 接口。SAM 3 模型权重需单独下载,并在 config.yaml 中配置路径。DrawIO 模板导入和本地视觉语言模型部署列在路线图中,尚未完成。

核心功能

  • 01使用微调的 SAM 3 模型分割图表元素。
  • 02通过本地 Tesseract OCR 或 PaddleOCR 识别文字。
  • 03借助 Pix2Text 将文字和公式区域转换为 LaTeX。
  • 04输出可编辑的 DrawIO(XML)文件,每个元素可独立选中。
  • 05同时提供命令行工具和 FastAPI 网页接口。

适用场景

  • 将论文或报告中的图表转换为可编辑的 DrawIO 图。
  • 从旧截图中还原可编辑的流程图或架构图。
  • 批量把扫描的技术示意图转换为 DrawIO 文件。
  • 从图片中提取公式并输出为 LaTeX。

快速上手

  1. 1

    克隆仓库

    git clone https://github.com/BIT-DataLab/Edit-Banana.git && cd Edit-Banana
  2. 2

    安装基础 Python 依赖

    pip install -r requirements.txt
  3. 3

    安装 SAM3 库并复制 BPE 词表(需另行下载 sam3.pt 权重)

    bash scripts/setup_sam3.sh
  4. 4

    通过命令行将图表图片转换为 DrawIO XML

    python main.py -i input/test_diagram.png

使用前须知

  • 首次运行前需要下载 SAM3 模型权重并安装 Tesseract OCR。
  • 强烈建议使用支持 CUDA 的 GPU。
  • 采用 AGPL-3.0 许可证,属于 Copyleft 许可,网络使用场景下也有源码公开义务。
  • GitHub 仓库的功能和性能落后于在线网页服务。

标签

常见问题

Edit-Banana 是什么?
将静态图表图片转换为可编辑的 DrawIO(XML)文件,结合 SAM 3 分割、OCR 与公式识别。 Edit Banana 是一个基于 Python 的工具,可以把图表、流程图、技术示意图和公式的静态图片转换为可编辑的 DrawIO XML 文件。转换后,每个元素都会作为独立图形保留,可以在 DrawIO 中直接拖动、修改样式或改写文字。
Edit-Banana 可以免费使用吗?用的什么许可证?
Edit-Banana 以 AGPL-3.0 许可证开源。用于商业产品前,请先确认许可证条款。
Edit-Banana 还在维护吗?
活跃维护中。Edit-Banana 最近一次提交是在 2026年10月17日。
Edit-Banana 适合用来做什么?
将论文或报告中的图表转换为可编辑的 DrawIO 图。 从旧截图中还原可编辑的流程图或架构图。 批量把扫描的技术示意图转换为 DrawIO 文件。 从图片中提取公式并输出为 LaTeX。
Edit-Banana 怎么安装和运行?
克隆仓库: git clone https://github.com/BIT-DataLab/Edit-Banana.git && cd Edit-Banana 安装基础 Python 依赖: pip install -r requirements.txt 安装 SAM3 库并复制 BPE 词表(需另行下载 sam3.pt 权重): bash scripts/setup_sam3.sh 通过命令行将图表图片转换为 DrawIO XML: python main.py -i input/test_diagram.png
在哪里获取 Edit-Banana?
源代码和安装说明在 GitHub 上:https://github.com/BIT-DataLab/Edit-Banana

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目