随着数字化时代在线服务的普及,用户足不出户即可进行账户注册、金融交易等操作,然而,为了享受这些服务,用户往往需要在应用上绑定多种证件和卡片,如身份证、银行卡、驾驶证、护照等,为了确保用户信息的唯一性、安全性和标准化,此类证件往往使用较长的标识码作为证件号,手动输入这些信息不仅繁琐还容易出错。
为解决这一问题,HarmonyOS SDK场景化视觉服务(Vision Kit)推出了卡证识别控件。该控件提供身份证、行驶证、驾驶证、护照、银行卡等证件的结构化识别服务,满足卡证的自动分类功能,系统可自动判断所属卡证类型并返回结构化信息和卡证图片信息。
对于需要填充卡证信息的场景,如录入身份信息、填写银行卡号和有效期信息等,可使用卡证识别控件读取证件结构化信息,将相关字段返回后进行填充。支持单独识别正面、反面,或同时进行双面识别。
通过卡证识别控件不仅能降低用户输入错误的风险,还能快速识别提升输入效率,优化用户的交互体验。
能力优势
性能高效:端侧实现时延低,识别准确率高。
开发简便:快速集成部署,占用空间小。
用户体验流畅:有效提升用户选择效率,自动填充功能减少繁琐操作。
功能演示
开发步骤
1.添加卡证识别控件相关的类。
import { CardRecognition, CallbackParam, CardType, CardSide } from "@kit.VisionKit";
2.配置页面的布局,选择需要识别的卡证类型,和需要识别的卡证页面,在回调中获取结果返回值。
a)身份证
CardRecognition({
supportType: CardType.CARD_ID,
// 身份证可双面识别
cardSide: CardSide.DEFAULT,
callback: ((params: CallbackParam) => {
hilog.info(0x0001, TAG, `params code: ${params.code}`)
hilog.info(0x0001, TAG, `params cardType: ${params.cardType}`)
hilog.info(0x0001, TAG, `params cardInfo front: ${JSON.stringify(params.cardInfo?.front)}`)
hilog.info(0x0001, TAG, `params cardInfo back: ${JSON.stringify(params.cardInfo?.back)}`)
})
})
b)银行卡
CardRecognition({
supportType: CardType.CARD_BANK,
// 银行卡为单面识别
cardSide: CardSide.FRONT,
callback: ((params: CallbackParam) => {
hilog.info(0x0001, TAG, `params code: ${params.code}`)
hilog.info(0x0001, TAG, `params cardType: ${params.cardType}`)
hilog.info(0x0001, TAG, `params cardInfo: ${JSON.stringify(params.cardInfo?.main)}`)
})
})
c)护照
CardRecognition({
supportType: CardType.CARD_PASSPORT,
// 护照为单面识别
cardSide: CardSide.FRONT,
callback: ((params: CallbackParam) => {
hilog.info(0x0001, TAG, `params code: ${params.code}`)
hilog.info(0x0001, TAG, `params cardType: ${params.cardType}`)
hilog.info(0x0001, TAG, `params cardInfo: ${JSON.stringify(params.cardInfo?.main)}`)
})
})
d)驾驶证
CardRecognition({
supportType: CardType.CARD_DRIVER_LICENSE,
// 驾驶证可双面识别
cardSide: CardSide.DEFAULT,
callback: ((params: CallbackParam) => {
hilog.info(0x0001, TAG, `params code: ${params.code}`)
hilog.info(0x0001, TAG, `params cardType: ${params.cardType}`)
hilog.info(0x0001, TAG, `params cardInfo front: ${JSON.stringify(params.cardInfo?.front)}`)
hilog.info(0x0001, TAG, `params cardInfo back: ${JSON.stringify(params.cardInfo?.back)}`)
})
})
e)行驶证
CardRecognition({
supportType: CardType.CARD_VEHICLE_LICENSE,
// 行驶证可双面识别
cardSide: CardSide.DEFAULT,
callback: ((params: CallbackParam) => {
hilog.info(0x0001, TAG, `params code: ${params.code}`)
hilog.info(0x0001, TAG, `params cardType: ${params.cardType}`)
hilog.info(0x0001, TAG, `params cardInfo front: ${JSON.stringify(params.cardInfo?.front)}`)
hilog.info(0x0001, TAG, `params cardInfo back: ${JSON.stringify(params.cardInfo?.back)}`)
})
})
了解更多详情\>\>
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。