ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

Zerox 护照类证件 OCR 实战:从英国护照样本页图像到结构化 Markdown 的完整解析

Zerox 护照类证件 OCR 实战:从英国护照样本页图像到结构化 Markdown 的完整解析 OCRAI 应用【免费下载链接】zeroxOCR Document Extraction using vision models项目地址https://gitcode.com/GitHub_Trending/ze/zerox点击查看免费下载导读本文以 Zerox 仓库中 shared/outputs/0040.md 这一份真实 OCR 输出为案例剖析 Zerox 如何将一张包含多语言、防伪底纹、双栏信息与 ICAO 机读码的英国护照样本页图像shared/inputs/0040.png转换为结构化 Markdown。你将掌握 Zerox 的核心处理链路文档转图像 → 视觉模型转 Markdown → 聚合输出、护照类证件的 OCR 内容结构特征以及如何用仓库自带的test.json关键词体系对这类输出做回归验证并了解 Node 与 Python 两种 SDK 的调用方式与关键参数。案例背景一份真实生成的护照 OCR 输出shared/outputs/0040.md 是 Zerox 仓库shared/outputs目录下的第 40 号结果文件对应输入图像 shared/inputs/0040.png。该图像是一张被手持的英国新版护照样本页页面整体采用半透明设计包含防伪图案飞鸟、地图底纹、点状肖像与打孔式机读码区上半部分为官方备注页下半部分为个人信息页底部为符合 ICAO 标准的机读码MRZ两行。这张图像正好覆盖了 Zerox 官方 README 所说的典型痛点证件文档天生是一种视觉呈现布局怪异、含表格、图表、复杂底纹传统基于文本层的提取会丢失信息而视觉模型可以直接看图说话。Zerox 的整体逻辑在 README.md 中被概括为四步传入文件PDF、DOCX、图像等→ 将文件转换为一系列图像 → 将每张图像交给 GPT 等视觉模型并请求 Markdown → 聚合响应并返回 Markdown。0040.md 正是这条流水线在单张图像上的产出。0040.md 输出内容逐字段解析原始输出全文如下取自 shared/outputs/0040.md**THIS PAGE IS RESERVED FOR OFFICIAL OBSERVATIONS** **CETTE PAGE EST RÉSERVÉE AUX OBSERVATIONS OFFICIELLES (11)** **THERE ARE NO OFFICIAL OBSERVATIONS** --- **UNITED KINGDOM OF GREAT BRITAIN AND NORTHERN IRELAND** **PASSPORT** **PASSEPORT** **Type/Type** P **Code/Code** GBR **Passport No./Passeport No.** 925600253 **Surname/Nom (1)** UK SPECIMEN **Given names/Prénoms (2)** ANGELA ZOE **Nationality/Nationalité (3)** BRITISH CITIZEN **Date of birth/Date de naissance (4)** 11 SEP / SEPT 88 **Sex/Sexe (5)** F **Place of birth/Lieu de naissance (6)** CROYDON **Date of issue/Date de délivrance (7)** 16 JUL / JUIL 10 **Authority/Autorité (8)** IPS **Date of expiry/Date dexpiration (9)** 16 JUL / JUIL 20 **Holders signature/Signature du titulaire (10)** A Specimen PGBRUKSPECIMENANGELAZOE 9256002538GBR8809117F200716206这份输出体现了 Zerox 默认系统提示词shared/systemPrompt.txt的几条核心规则被忠实执行You must include all information on the page. Do not exclude headers, footers, or subtext.输出完整保留了页眉备注区THIS PAGE IS RESERVED FOR OFFICIAL OBSERVATIONS、双语标题、签名栏与机读码没有做任何删减双语文档的双语键值对保留护照信息页采用英文/法文双语字段如Surname/Nom (1)、Given names/Prénoms (2)模型以字段标签 值的 Markdown 粗体键值结构还原数字编号110也一一对应机读码MRZ按原样保留底部的两行 MRZ 字符串未被当成普通文本改写保持了 OCR 结果的原始可校验性Return only the markdown with no explanation text输出没有任何解释性旁白可直接作为结构化数据消费。从证件 OCR 角度看这份输出的信息抽取质量较高国籍BRITISH CITIZEN、出生地CROYDON、签发机构IPS、性别F、签发/到期日期等均被正确分类到对应字段MRZ 第一行PGBRUKSPECIMENANGELAZOE与第二行9256002538GBR8809117F200716206中护照号925600253、出生日期8809117、性别F、有效期2007162与上方的可视字段相互印证说明视觉模型完成了可视区 ↔ 机读区的一致识别。护照识别结果的回归验证test.json 关键词体系0040 这个案例并非孤立产出。仓库在 shared/test.json 中为 40 份输入文档各维护了一组expectedKeywords其中第 0040.png 的期望关键词见该文件末尾包括{ file: 0040.png, expectedKeywords: [ [ OBSERVATIONS OFFICIELLES (11), UNITED KINGDOM OF GREAT BRITAIN AND NORTHERN IRELAND, Code/Code, 925600253, UK SPECIMEN, Prénoms (2), ANGELA ZOE, Nationality, Nationalité, CROYDON, 16 JUL / JUIL 10, Holders signature, PGBRUKSPECIMENANGELAZOE, 9256002538GBR8809117F2007162 ] ] }对照 shared/outputs/0040.md 的文本这些关键词几乎全部命中OBSERVATIONS OFFICIELLES (11)、UNITED KINGDOM OF GREAT BRITAIN AND NORTHERN IRELAND、护照号925600253、持有人UK SPECIMEN/ANGELA ZOE、出生地CROYDON、签发日期16 JUL / JUIL 10、以及两行 MRZ 原文均逐字出现在输出中。这套机制的运行方式记录在 node-zerox/tests/README.md 中测试脚本读取shared/inputs下的文档用 Zerox 实时 OCR再与test.json的期望关键词比对输出命中/缺失计数与汇总表README 明确指出这是针对已知文档关键词的快速回归测试虽然不覆盖版面布局但能很好地发现回归问题。也就是说0040.md 既是一份 OCR 结果同时也是一份可回归验证的基线样本读者可用npm run test在配置好 OpenAI Key 后复现这一校验过程。从图像到 MarkdownZerox 的处理链路与源码印证0040.md 的产生路径可以从源码中完整还原。以 Python SDK 为例入口函数zerox位于 py_zerox/pyzerox/core/zerox.py其执行流程与 0040 这个案例一一对应校验与下载file_path为空时抛出FileUnavailable随后download_file将本地路径或 URL 的文件落入临时目录并生成规范化文件名非字母数字字符转为_截断至 255 字符页选择可选若传入select_pages先创建仅含所选页的子 PDFcreate_selected_pages_pdf并自动排序页号保证输出顺序一致PDF 转图像convert_pdf_to_images基于pdf2image默认参数定义在 py_zerox/pyzerox/constants/conversion.pyDPI300、格式 PNG、尺寸(None, 1056)、线程数 4、启用pdftocairo。对 0040 这类本身就是单张 PNG 的输入Node 版会直接走图像直通分支不再经过 PDF 转换见 node-zerox/src/index.ts 中针对.png/.jpg/.jpeg的imagePaths [localPath]处理逐页送视觉模型默认并发 10concurrency10通过process_pages_in_batches以asyncio.Semaphore限流批量处理每个页面调用litellmmodel.completion获取 Markdown见 py_zerox/pyzerox/processor/pdf.pyMarkdown 清洗与聚合format_markdown通过正则剔除模型可能输出的 markdown/代码块围栏标记见 py_zerox/pyzerox/processor/text.py随后\n\n.join聚合各页可选写入output_dir/{file_name}.md结果封装返回ZeroxOutput包含completion_time毫秒、file_name、input_tokens、output_tokens与pages列表Page由content、content_length、page组成见 py_zerox/pyzerox/core/types.py。值得强调的是maintain_format选项当设为 True 时Zerox 会将上一页的 Markdown 作为下一页的附加上下文传入形成Request #1 page_1_image; Request #2 page_1_markdown page_2_image; Request #3 ...的串行链。这要求请求同步执行、速度更慢但对跨页表格等场景价值明显从 py_zerox/pyzerox/core/zerox.py 源码可以看到maintain_formatTrue与select_pages同时使用时还会触发一条友好警告提示该组合存在限制。复现与扩展在本地跑通同类型证件 OCR要复现 0040 这类输出可按 SDK 类型选择调用方式完整示例见 README.md。Python 方式依赖系统安装 popplerpip install py-zeroxfrom pyzerox import zerox import asyncio async def main(): result await zerox( file_path./shared/inputs/0040.png, # 本地路径或 URL 均可 modelgpt-4o-mini, # LiteLLM 格式的视觉模型名 output_dir./output_test, # 可选落盘聚合 Markdown select_pagesNone, # None 处理全部页面也可传 int 或 list ) return result result asyncio.run(main()) print(result)Node 方式依赖 graphicsmagick 与 ghostscriptnpm install zeroximport { zerox } from zerox; const result await zerox({ filePath: shared/inputs/0040.png, credentials: { apiKey: process.env.OPENAI_API_KEY }, modelProvider: OPENAI, model: gpt-4o, outputDir: shared/outputs, // 可选保存合并后的 result.md });调用时可针对证件类场景调整的关键参数均以仓库 README 与源码为准concurrency并发页数默认 10多页护照扫描件可适当调低以控制成本maintain_format/maintain_format默认 False若护照有多页且存在跨页表格可开启但要接受串行带来的延迟select_pages/pagesToConvertAsImages默认处理全部页面支持按 1 起始页号选取指定页Node 版默认 -1 表示全部转换custom_system_prompt/promptPython 版可用custom_system_prompt覆盖 shared/systemPrompt.txt 中的默认系统提示词覆盖时会触发友好警告例如追加机读码必须原样保留、字段标签双语都要输出等约束进一步强化证件场景cleanup默认 True处理完成后清理临时目录output_dir指定后把聚合结果写入{file_name}.md与 shared/outputs/0040.md 的生成方式一致。总结shared/outputs/0040.md 是一个极具代表性的 Zerox 实战样本它以一张多层防伪、双语文案、含 ICAO 机读码的英国护照样本页为输入完整产出了可被 AI 系统直接消费的 Markdown 键值结构并且与 shared/test.json 中 0040.png 的关键词基线逐条吻合。结合 README.md、py_zerox/pyzerox/core/zerox.py 与 node-zerox/src/index.ts 的源码可以清楚看到这套图像 → 视觉模型 → Markdown → 关键词回归的完整闭环。对于护照、驾照、身份证、税单等强视觉特征证件的 OCR 需求Zerox 提供了一条不需要维护模板、开箱即用的落地路径传入文件、配上视觉模型凭证即可获得结构化、可校验的 Markdown 输出。赞分享OCRAI 应用【免费下载链接】zeroxOCR Document Extraction using vision models项目地址https://gitcode.com/GitHub_Trending/ze/zerox点击查看免费下载相关推荐UniGetUI 怎么以 TCP 模式运行 headless 并用 curl 验证 IPC 端点UniGetUI 怎么以 TCP 模式运行 headless 并用 curl 验证 IPC 端点 UniGetUI 默认通过 named pipe 传输WiOCRAI 应用GLM-OCR 手写体识别实战从手写稿到结构化 Markdown 的完整解析GLM OCR 手写体识别实战从手写稿到结构化 Markdown 的完整解析 本篇文章以 GLM OCR 仓库中一份真实的手写体识别结果为切入点完整拆解「手人工智能大模型计算机视觉OCR本地部署AI 技能Zerox OCR图表识别终极指南从图像到Markdown的可视化数据转换Zerox OCR图表识别终极指南从图像到Markdown的可视化数据转换 Zerox是一款基于视觉模型的OCR和文档提取工具能够将PDF、图片等多种格式的OCRAI 应用上一篇NetBox EventRule 事件规则模型完全指南对象驱动的自动化动作引擎下一篇深入解析 .NET 配置系统Microsoft.Extensions.Configuration 的抽象模型与 Provider 机制创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表