☰
GLM-OCR印章识别实战:如何提取合同中的红色印章文字
2026/10/23 0:33:25 网站建设 项目流程

GLM-OCR印章识别实战:如何提取合同中的红色印章文字

【免费下载链接】GLM-OCRGLM-OCR: Accurate × Fast × Comprehensive项目地址: https://gitcode.com/GitHub_Trending/gl/GLM-OCR

GLM-OCR 是一款开源的多模态 OCR 模型,专门面向复杂文档理解场景,对印章、复杂表格、公式等高难版面都能稳定识别。本文将从零讲起,带你用 GLM-OCR 提取合同扫描件中的红色印章文字,全程只需一条命令。

为什么红色印章文字这么难提取?

印章文字识别是文档 OCR 领域公认的"老大难",主要有三个原因:

  • 🔴颜色干扰:红色印油文字与红色表格线、彩色底纹混在一起,传统二值化方案容易"误伤"或"漏掉";
  • 🌀弧形排版:公章的公司名称沿圆弧排列,行序不符合常规阅读顺序;
  • ✂️区域重叠:印章常常压在正文、签名或表格之上,需要模型具备"分层理解"能力。

以仓库内置的印章示例 examples/source/seal.png 为例,一枚发票专用章上同时包含环形公司名、税号、"发票专用章"字样和编号四段信息,正是典型的合同用章场景。

上图是 GLM-OCR 对合同财务表格的版面检测可视化(左上角table 0.93为检测框与置信度),可以看到模型能精准框出表格区域——这正是处理印章所在合同页的第一步。

GLM-OCR:两阶段 OCR 流水线

GLM-OCR 的核心流程是**"版面分析 + 并行识别"**两阶段架构:

  1. 版面分析:基于 PP-DocLayout-V3 的版面检测器先扫一遍整页,定位出文本、表格、公式、印章等区域;
  2. 并行识别:每个区域单独裁剪后,并行送入 GLM-OCR 模型(仅 0.9B 参数)做精细识别;
  3. 结果融合:后处理模块把各区域结果按版面顺序拼装成 Markdown 与 JSON。

上图展示了一次完整的版面分析结果:paragraph_title、text、display_formula、number等区域各自带有置信度评分。这种"先定位、再识别"的策略,让模型可以聚焦印章区域本身,避免正文干扰。

核心模块路径,供进阶读者参考:

  • 流水线主逻辑:glmocr/pipeline/pipeline.py
  • 版面检测器:glmocr/layout/layout_detector.py
  • 结果格式化:glmocr/postprocess/result_formatter.py

三步搞定印章文字提取

第一步:安装 GLM-OCR SDK

最轻量的方式是使用云端 MaaS 模式,无需 GPU,一条命令装好 SDK:

pip install glmocr

自部署(本地跑完整流水线)则安装:

pip install "glmocr[selfhosted]"

第二步:一条命令解析合同扫描件

把合同扫描件(图片或多页 PDF 均可)交给 CLI:

# 解析单张合同图片 glmocr parse contract_scan.png # 解析整个目录(多页 PDF 会自动按页处理) glmocr parse ./contract_folder/ --output ./results/

解析完成后,imgs/目录会保留每个区域的裁剪图,方便人工核对:

上图是模型对某一识别区域裁剪后的还原效果,可以看到文字块被完整、有序地提取出来。

第三步:查看印章识别结果

以仓库自带的印章样例为例,运行解析后得到的 Markdown 结果(examples/result/seal/seal.md)如下:

中国石油天然气股份有限公司四川销售分公司 510105711890927 发票专用章 5101055004432

环形排列的公司全称、弧形税号和中心文字全部按正确顺序还原,可直接用于后续的印章信息核对与数据录入。

配套的 JSON 结果(examples/result/seal/seal.json)还包含每个区域的类型标签与bbox_2d坐标框:

{ "label": "text", "content": "中国石油天然气股份有限公司四川销售分公司\n\n510105711890927\n\n发票专用章\n\n5101055004432", "bbox_2d": [0, 10, 992, 997] }

有了坐标框,你就能在合同原图上精确定位每一枚印章的位置,实现"识别 + 定位"双能力。

提升印章识别准确率的 3 个技巧

  1. 📸 单独裁剪印章区域再识别:如果合同页内容复杂,可先手动裁剪出印章局部图片再解析,减少干扰区域,红色文字还原更干净;
  2. 🖥️ 显存不足时把版面模型放到 CPU:用--layout-device cpu参数,将 GPU 留给 OCR 模型,识别速度不受影响;
  3. 🔧 用--set微调配置:例如glmocr parse contract.png --set pipeline.layout.use_polygon true,无需修改任何配置文件即可覆盖默认行为。

更多 CLI 用法可参考 examples/example.py 与 SDK 技能说明 skills/glmocr/SKILL.md。

常见资源速查

资源路径
印章测试图片examples/source/seal.png
印章识别 Markdown 结果examples/result/seal/seal.md
印章识别 JSON 结果(含坐标)examples/result/seal/seal.json
版面检测可视化图examples/result/seal/layout_vis/layout_page0.jpg
更多效果样例examples/result/

从合同扫描件到结构化的印章文字,GLM-OCR 只需要"安装 → 解析 → 取结果"三步。无论是财务核对、合同归档还是印章信息录入,这套"两阶段"流水线都能让红色印章文字不再是提取难题。

【免费下载链接】GLM-OCRGLM-OCR: Accurate × Fast × Comprehensive项目地址: https://gitcode.com/GitHub_Trending/gl/GLM-OCR

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询