尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
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),仅供参考
RELATED

相关推荐

Unity与UE4引擎深度对比:从渲染、脚本到跨平台实战选型指南

Unity与UE4引擎深度对比:从渲染、脚本到跨平台实战选型指南

1. 引擎之争的本质:不是谁更好,而是谁更适合你 1.1 两个引擎的基因差异 Unity 和 UE4 的争论在圈子里从来没停过,论坛上、群里、甚至面试的时候都有人问“到底学哪个”。我做了快十年游戏开发,Unity 和 UE4 都深度用过&#xff0…

📅 2026/10/3 18:57:15
Orca:面向AI代理的轻量级并行调度内核

Orca:面向AI代理的轻量级并行调度内核

1. Orca不是鲸鱼,而是AI代理调度系统的“交通指挥中心”你可能在GitHub trending榜上刷到过Orca——那个图标像极了深海巨兽的项目。但别被名字骗了:它和海洋生物毫无关系,也不是某个大模型的变体,更不是又一个LLM聊天界面。Orca是…

📅 2026/10/3 18:57:15
回形针的工程哲学:从设计原理到自动化视觉检测

回形针的工程哲学:从设计原理到自动化视觉检测

1. 一件日用品凭什么讲了这么多年 聊起 paperclip,也就是回形针,很多人的第一反应是“这不就是那个小铁丝弯成的夹子嘛”。但如果你把它当成一个工程产品来看,事情就没那么简单了。它诞生距今差不多一个半世纪,结构几乎没有变过&a…

📅 2026/10/3 18:57:15
MORE NEWS

更多资讯

📰

鸿业市政道路软件避坑指南:版本匹配、横断面与土方计算常见问题

简介:针对鸿业市政道路软件用户的常见问题解答文档,内容覆盖软件运行、土方、平面、纵断、横断、交叉口设计及其他模块,面向市政道路设计人员与相关专业学生,帮助解决菜单加载失败、土方计算异常、图面显示错乱等高频问题。压缩包…

📰

超级多智能体架构实战:DeepAgents编排、MCP工具接入与A2A通信

1. 从单体到集群:为什么我们需要超级多智能体1.1 一个真实的需求场景去年下半年我接手了一个企业内部知识助手的项目,需求听起来不复杂:帮员工查制度文档、走审批流程、生成周报。一开始我用的是单体 Agent 方案,一个模型加一堆工…

📰

hindsight:面向LLM应用的事后可观测性工程实践

1. 项目概述:hindsight 不是回溯,而是“事后视角”的工程化实践“hindsight”这个词在日常英语里常被译作“后见之明”,指事情发生之后才看清因果、识别关键节点的能力。但在当前技术语境下,尤其结合 Python、OpenAI、Anthropic、…

📰

多智能体集群实战:DeepAgents编排、MCP与A2A协议及Skills体系

1. 从"单兵作战"到"集群协同":多智能体编排到底在解决什么问题如果你最近在折腾 Agent 相关的东西,大概率会有一种感觉:单个 Agent 能做的事情,其实很快就摸到天花板了。你给它一个提示词,挂几个工…

📰

Jev+Agent接管浏览器:browser-use实战与jev-ultrafast性能优化

1. 从“Jev”说起:为什么我要把Agent接进浏览器“Jev”这个词最近在圈子里出现的频率越来越高,很多人第一次听到会以为是某个新模型的名字,其实它更像是一种思路——把Jev模型的能力当作底座,通过Agent的方式去接管浏览器&#xf…

📰

QuickBlue:企业AI应用底座,打通模型到业务落地的最后一公里

上个月和一位做工业质检的老友吃饭,他公司的AI项目在测试集上准确率做到了99.3%,可项目就是迟迟上不了产线。我问他卡在哪,他掰着手指头给我数:现场数据传不上来、接口协议没人维护、操作员的反馈没有回流通道,最后还有…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬