跳到主要内容

🛂 护照自动捕获

SDK 可自动捕获护照数据页(包含照片和机读区的页面):它可在实时摄像流中检测页面边界,等待清晰稳定的帧,对裁剪进行透视校正,并将其提交给 护照 OCR API — 每请求 0.75 IC。它与身份证的自动捕获引擎相同,但针对较大的 ID-3 护照几何尺寸进行了优化。

Flutter

import 'package:iapp_ekyc_sdk/iapp_ekyc_sdk.dart';

final client = IappEkycClient(apiKey: 'YOUR_API_KEY');

final result = await DocumentCaptureView.start(
context,
client: client,
documentType: DocumentType.passport,
locale: EkycLocale.en,
);

Web

import { IappEkyc } from '@iapp-technology/ekyc-sdk';

const ekyc = new IappEkyc({ apiKey: 'YOUR_API_KEY' });

const result = await ekyc.captureDocument({
mount: document.getElementById('ekyc-mount'),
documentType: 'passport',
locale: 'en',
});

结果公开了类型化访问器以及原始 OCR 响应 (result.raw),包括解析的 MRZ 字段 — 请参阅 护照 OCR 字段参考

iOS / Android / React Native

相同的流程在原生封装中提供 — 同一个引擎,相同的捕获质量。安装和相机权限设置:iOS、Android 和 React Native

// iOS (Swift;也支持 Objective-C)
let config = IappEkycConfig(apiKey: "YOUR_API_KEY", flow: .documentCapture)
config.documentType = .passport
IappEkycSdk.present(from: self, config: config) { result in /* result.document?.rawJSON */ }
// Android (Kotlin;也支持 Java)
ekyc.launch(IappEkycRequest.DocumentCapture(config, EkycDocumentType.PASSPORT))
// React Native
<IappEkycFlow flow="documentCapture" documentType="passport" apiKey="YOUR_API_KEY"
onResult={handleResult} onError={handleError} onCancel={close} />

自动捕获如何工作

  • 边界检测 — 自适应 Canny 边缘检测和轮廓分析 (OpenCV) 在屏幕指南内找到一个符合 ID-3 护照数据页纵横比(1.42,即 125 × 88 毫米,±0.25 容差)的凸四边形。
  • 稳定性 — 仅当页面在最近帧的滑动窗口内保持稳定后(角落漂移小于帧对角线的 2%)才会触发捕获。
  • 清晰度 — 拉普拉斯方差评分可拒绝模糊的帧,在消耗任何信用额度之前,可保护精细的 MRZ 打印免受运动模糊的影响。
  • 透视校正 — 检测到的角点会被扭曲成一个平面的约 300 DPI 的页面图像(1476 × 1039 像素),然后上传。
  • 手动备用 — 如果自动捕获未触发,10 秒后会显示手动快门按钮。

了解更多