OCR 技术能够将图像中的文字信息转换为可编辑和可处理的文本数据。简单来说,就是识别和提取图片上的文字。
接下来,我们将深入评测 GitHub 上 Star 数最多的 10 个 OCR 开源项目,为你提供一份详尽的 OCR 工具选择指南。
01 GOT-OCR 2.0:端到端多模态 OCR 模型
GOT-OCR 2.0 是一款开源的端到端多模态 OCR 模型,模型大小仅 1.43 GB。它不仅能识别和提取文本,还能处理数学公式、分子式、图表、乐谱、几何图形等多种内容,极大地拓宽了 OCR 技术的应用范围。
模型特点:
- 多模态支持: 除了常规文本,还能处理多种复杂内容。
- 轻量级模型: 模型大小仅 1.43 GB,易于部署。
- 端到端识别: 无需复杂的预处理和后处理流程。
优势: GOT-OCR 2.0 在处理复杂场景和多样化内容方面具有明显优势,适合需要处理多种类型文档的应用场景。
目前在 GitHub 上已经获得了 7.2K 的 Star!
开源地址:https://github.com/Ucas-HaoranWei/GOT-OCR2.0
02 InternVL:强大的开源多模态模型
InternVL 是由 OpenGVLab 团队开发的开源多模态大模型,旨在提供接近 GPT-4V 和 Gemini Pro 等商业模型性能的替代方案。
虽然 InternVL 属于视觉大模型,应用场景更广泛,例如图像理解,并非 OCR 领域的垂直模型,但它能够向下兼容 OCR 提取文字的场景。还有很多优秀的开源视觉大模型,本文暂不一一列举,仅以 InternVL 为例。
模型特点:
- 多模态能力: 支持图像理解、视觉问答等多种任务。
- 高性能: 接近商业模型的性能表现。
- 开源开放: 方便开发者进行二次开发和定制。
优势: InternVL 作为视觉大模型,在处理复杂图像和理解图像内容方面具有优势,同时也能满足 OCR 的基本需求。
目前已经获得了 7.2K 的 Star。
开源地址:https://github.com/OpenGVLab/InternVL
03 olmOCR:PDF 文档结构化处理专家
olmOCR 是由 AllenAI 开发的一款专注于 PDF 文档线性化处理的工具包,能将复杂布局的 PDF 转换为适合大语言模型(LLM)训练的结构化文本。
其核心目标是通过高效处理 PDF 的图文混排、多栏布局等问题,生成连贯的文本数据,提升 LLM 在真实场景中的文档理解能力。
技术细节:
- 布局解析: 准确识别 PDF 中的文本、图像、表格等多栏布局。
- 文本线性化: 将复杂的布局转换为适合 LLM 处理的线性文本序列。
- 内容重组: 解决跨页、跨栏等问题,保证文本的连贯性。
应用场景:
- 学术论文分析: 快速提取论文中的关键信息。
- 法律文档处理: 结构化提取合同、判决书等文档内容。
- 财务报表解析: 自动化提取财务数据和关键指标。
要求配置是最新的 NVIDIA GPU(在 RTX 4090、L40S、A100、H100 上测试),至少有 20 GB 的 GPU RAM,30GB 可用磁盘空间。
目前已经获得了 9.8K 的 Star!
开源地址:https://github.com/allenai/olmocr
在线演示:https://olmocr.allenai.org/
04 Zerox:AI 驱动的结构化文档转换工具
Zerox 是由 Omni-AI 团队开发的一款 AI 驱动的文档提取工具,可以将 PDF、图片、Docx 等格式的文档转换为结构化的 Markdown 文件。
优势:
- 无需训练: 与传统 OCR 工具不同,Zerox 无需提前训练模型即可处理复杂布局。
- 直接生成结构化内容: 基于视觉模型(如 GPT-4o-mini)实现 OCR 并直接生成结构化内容。
- 保留逻辑结构: 可识别学术论文的分栏排版、技术文档中的代码块、合同表格、试卷公式等,生成整洁的 Markdown。
- 对比传统OCR : Zerox省略了传统的布局分析,表格结构还原等步骤,直接输出Markdown结果。
目前获得了 10.3K 的 Star!
开源地址:https://github.com/getomni-ai/zerox
体验地址:https://getomni.ai/ocr-demo
05 Surya:多语言文本及复杂文档结构识别
Surya 专注于多语言文本及复杂文档结构的识别,尤其以表格识别能力见长。
关键词:行级文本检测、布局分析(表格、图像、标题等检测)、阅读顺序检测、表格识别(检测行/列)、LaTeX OCR
主要特点:
- 多语言支持: 支持 90 多种语言,包括中文、日语、阿拉伯语等复杂文字,以及英语、西班牙语等主流语言,适用于全球化场景的文档处理。
- 表格识别优化: 能精准识别表格的行、列、单元格结构,包括旋转或复杂布局的表格,性能优于当前主流开源模型(如 Table Transformer)。
- 复杂文档解析: 可检测文档中的标题、图片、段落等元素,并智能判断阅读顺序,避免输出内容混乱。
应用场景案例:
- 多语种文档数字化: 跨国公司处理多语种合同、报告等。
- 历史档案数字化: 处理包含复杂表格和布局的历史文档。
- 科研数据提取: 从学术论文中提取表格数据。
Surya 支持 CPU/GPU 运行,通过批量处理和图像预处理优化(如去噪、灰度化),显著提升识别速度,适用于企业级文档数字化需求。
目前在 GitHub 上已经获得了 16.8K 的 Star!
开源地址:https://github.com/VikParuchuri/surya
06 OCRmyPDF:为扫描版 PDF 添加可搜索文本层
这个开源工具,专为扫描版 PDF 文件(即 PDF 中全是图片,图片中的文字不可复制)添加可搜索、可复制的文本层。
应用场景:
- 档案数字化: 将扫描的纸质文档转换为可搜索的 PDF。
- 无障碍阅读: 为视障人士提供可访问的 PDF 文档。
- 信息检索: 方便从大量扫描文档中查找信息。
优势:
- 精准识别: 使用 Tesseract OCR 引擎,支持 100 多种语言。
- 图像优化: 自动校正倾斜页面、旋转错误页面,提升识别率。
- 批量处理: 利用多核 CPU 加速,可高效处理上千页文档。
OCRmyPDF 在处理扫描版 PDF 方面具有明显优势,且易于安装和使用,兼容 Linux、Windows、macOS 和 Docker。相比其他需要手动处理扫描文档的工具,OCRmyPDF 提供了更便捷的解决方案。
目前在 GitHub 已经获得了 20.7K 的 Star!
当打开图片型 PDF 时,会发现图片上的文字无法复制和搜索。OCRmyPDF 能将 OCR 文本层嵌入图片下方,支持高精度复制和搜索。
开源地址:https://github.com/ocrmypdf/OCRmyPDF
接入文档:https://ocrmypdf.readthedocs.io/en/latest/
07 Marker:PDF、图像等多格式文档转换
Marker 是由 Vik Paruchuri 开发的高效文档转换工具,可以将 PDF、图像、Office 文档及 EPUB 等格式快速转换为 Markdown、JSON 或 HTML。
优势: Marker 在高精度解析复杂内容(如表格、数学公式、代码块)和出色的处理速度方面表现突出,支持 GPU 加速,性能优于同类云服务(如 Llamaparse、Mathpix)。
应用案例:
- 学术论文转换: 将 PDF 论文转换为 Markdown,方便编辑和引用。
- 技术文档生成: 将包含代码和图表的文档转换为易于发布的 HTML 格式。
- 数据提取: 将表格和表单数据提取为 JSON 格式,方便后续处理。
Marker 可以调用大语言模型(如 Gemini、Ollama)优化结果,例如跨页表格合并、公式格式化、表单数据提取。
目前在 GitHub 上已经获得了 22.8K 的 Star。
开源地址:https://github.com/vikParuchuri/marker
08 EasyOCR:多语言文本识别工具库
EasyOCR 是由 JaidedAI 开发的开源 OCR 工具库,输入图片,返回提取出来的文字、对应位置坐标、置信度。
特点:
- 多语言支持: 支持 80 多种语言和多种文字系统(如中文、拉丁文、阿拉伯文)。
- 即用型: 提供预训练模型,无需额外训练即可快速部署。
- 灵活输入: 支持图片、字节流、URL 等多种输入形式。
- 简洁 API: 通过简洁的 API 输出文本内容、位置及置信度。
- CPU/GPU 兼容: 可根据硬件条件灵活选择运行环境。
模型训练: EasyOCR 基于 PyTorch 深度学习框架,采用 CRNN(卷积循环神经网络)模型结构,结合 CTC(Connectionist Temporal Classification)损失函数进行训练。
应用场景:
- 多语言文档识别: 适用于处理包含多种语言的文档。
- 自然场景文字识别: 可用于识别路牌、车牌等自然场景中的文字。
- 移动端 OCR: 模型轻量,适合在移动端部署。
EasyOCR 兼顾了开发者友好性和工业级应用需求,适用于多语言文档、自然场景文字等 OCR 场景。
目前在 GitHub 上获得了 26K 的 Star。
开源地址:https://github.com/JaidedAI/EasyOCR
Demo 地址:https://www.jaided.ai/documentai/demo
09 Umi-OCR:安装即用的离线 OCR 软件
这是一款免费、开源、离线的 OCR 文字识别软件,支持 Windows 7+ x64 和 Linux x64 系统,无需联网,下载即可本地运行。
关键词:本地软件解压即用,离线运行;截图 OCR;批量 OCR;
优势:
- 离线运行: 无需联网,保护用户隐私。
- 简单易用: 提供图形化界面,操作简单。
- 功能丰富: 支持截图 OCR、批量 OCR 等多种功能。
- 对比其他离线工具: 具有安装简单,无需配置运行环境的特点。
目前已经获得了 30.8K 的 Star 。
开源地址:https://github.com/hiroi-sora/Umi-OCR
10 Tesseract:OCR 领域的远古巨神
Tesseract 是一个功能强大且广泛应用的开源 OCR 引擎,能够将图像中的文字转换为可编辑的文本。
历史背景:
- 1985 年至 1994 年间由 惠普 实验室开发。
- 1996 年后被移植到 Windows 系统。
- 2005 年 惠普 将其开源。
- Google 赞助,是知名度比较高的开源 OCR 系统之一。
技术特点:
- 深度学习技术: 使用先进的深度学习技术(如卷积神经网络)进行字符识别,精度较高,尤其在处理质量较好的扫描图像时表现优异。
- 多语言支持: 支持超过 100 种语言的文本识别。
对比其他引擎: Tesseract 历史悠久,社区活跃,文档完善,但在处理复杂布局和低质量图像方面可能不如一些新兴的 OCR 引擎。
还有一个 JavaScript 版本的 Tesseract OCR:Tesseract.js,但经过实际测试,发现 JS 版本对中文的支持效果并不理想。
目前在 GitHub 上已经获得了 65.3K 的 Star 。
开源地址:https://github.com/tesseract-ocr/tesseract
开源地址:https://github.com/naptha/tesseract.js