จับภาพเอกสารทางการอัตโนมัติ
เอนจิ้นการจับภาพอัตโนมัติเดียวกันนี้สามารถจัดการเอกสารราชการไทยอื่นๆ ได้ด้วย: ใบขับขี่, สมุดบัญชีธนาคาร และ สำเนาบัตรประชาชนพร้อมลายเซ็น SDK จะตรวจจับขอบเขตของเอกสาร รอเฟรมที่คมชัดและเสถียร ปรับมุมมองของภาพที่ตัดออกมา และส่งไปยัง iApp OCR API ที่ตรงกัน — 1.0–1.25 IC ต่อหน้า ขึ้นอยู่กับประเภทของเอกสาร
ประเภทเอกสารที่รองรับ
DocumentType (Flutter) | documentType (Web) | API ที่เรียกใช้ | ค่าบริการ |
|---|---|---|---|
DocumentType.thaiDriverLicense | 'thaiDriverLicense' | Thai Driver License OCR | 1.25 IC/หน้า |
DocumentType.bookBank | 'bookBank' | Book Bank OCR | 1.25 IC/หน้า |
DocumentType.thaiIdWithSignature | 'thaiIdWithSignature' | Thai National ID Card with Signature | 1.0 IC/หน้า |
Flutter
import 'package:iapp_ekyc_sdk/iapp_ekyc_sdk.dart';
final client = IappEkycClient(apiKey: 'YOUR_API_KEY');
// ใบขับขี่ไทย
final license = await DocumentCaptureView.start(
context,
client: client,
documentType: DocumentType.thaiDriverLicense,
locale: EkycLocale.th,
);
// สมุดบัญชีธนาคาร
final bookBank = await DocumentCaptureView.start(
context,
client: client,
documentType: DocumentType.bookBank,
);
Web
import { IappEkyc } from '@iapp-technology/ekyc-sdk';
const ekyc = new IappEkyc({ apiKey: 'YOUR_API_KEY' });
const license = await ekyc.captureDocument({
mount: document.getElementById('ekyc-mount'),
documentType: 'thaiDriverLicense',
locale: 'th',
});
const idCopy = await ekyc.captureDocument({
mount: document.getElementById('ekyc-mount'),
documentType: 'thaiIdWithSignature',
});
iOS / Android / React Native
กระบวนการเดียวกันนี้มีอยู่ใน Wrapper แบบ Native — เอนจิ้นเดียว คุณภาพการจับภาพเหมือนกัน การติดตั้งและการตั้งค่าสิทธิ์การเข้าถึงกล้อง: iOS, Android & React Native.
// iOS (Swift; Objective-C ก็รองรับ)
let config = IappEkycConfig(apiKey: "YOUR_API_KEY", flow: .documentCapture)
config.documentType = .thaiDriverLicense
IappEkycSdk.present(from: self, config: config) { result in /* result.document?.rawJSON */ }
// Android (Kotlin; Java ก็รองรับ)
ekyc.launch(IappEkycRequest.DocumentCapture(config, EkycDocumentType.THAI_DRIVER_LICENSE))
// React Native
<IappEkycFlow flow="documentCapture" documentType="thaiDriverLicense" apiKey="YOUR_API_KEY"
onResult={handleResult} onError={handleError} onCancel={close} />
การทำงานของระบบจับภาพอัตโนมัติ
- การตรวจจับขอบเขต — การตรวจจับขอบ Canny แบบปรับได้และการวิเคราะห์รูปทรง (OpenCV) เพื่อค้นหาเส้นขอบสี่เหลี่ยมที่มีมุม และมีอัตราส่วนภาพตรงกับบัตร ID-1 (1.586, ±0.25 tolerance) ภายในแนวที่แสดงบนหน้าจอ — ใบขับขี่, สมุดบัญชีธนาคาร และสำเนาบัตรประชาชน ล้วนมีรูปทรง ID-1 เหมือนกัน
- ความเสถียร — การจับภาพจะเริ่มทำงานหลังจากเอกสารมีความนิ่งในช่วงหน้าต่างเลื่อนของเฟรมล่าสุด (มุมขอบเบี่ยงเบนน้อยกว่า 2% ของเส้นทแยงมุมเฟรม)
- ความคมชัด — การให้คะแนน Laplacian-variance จะปฏิเสธเฟรมที่เบลอ ก่อนที่จะใช้เครดิตใดๆ
- การแก้ไขมุมมอง — มุมที่ตรวจจับได้จะถูกปรับให้เป็นภาพแบนที่มีความละเอียดประมาณ 300 DPI (1011 × 637 px) ก่อนการอัปโหลด
- การทำงานแบบ Manual — ปุ่มชัตเตอร์แบบ Manual จะปรากฏขึ้นหลังจาก 10 วินาที หากการจับภาพอัตโนมัติยังไม่ทำงาน
เรียนรู้เพิ่มเติม
- Product APIs: Thai Driver License · Book Bank · ID Card with Signature
- การตั้งค่า SDK: Getting Started
- Source & algorithm spec: github.com/iapp-technology/iapp-ekyc-sdk