随着数字化时代在线服务的普及,用户足不出户即可进行账户注册、金融交易等操作,然而,为了享受这些服务,用户往往需要在应用上绑定多种证件和卡片,如身份证、银行卡、驾驶证、护照等,为了确保用户信息的唯一性、安全性和标准化,此类证件往往使用较长的标识码作为证件号,手动输入这些信息不仅繁琐还容易出错。

为解决这一问题,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)}`)
  })
})

了解更多详情\>\>

访问场景化视觉服务联盟官网

获取卡证识别开发指导文档


HarmonyOS_SDK
596 声望11.7k 粉丝

HarmonyOS SDK通过将HarmonyOS系统级能力对外开放,支撑开发者高效打造更纯净、更智能、更精致、更易用的鸿蒙原生应用,和开发者共同成长。