HarmonyOS 鸿蒙Next OCR身份证识别的问题

发布于 1周前 作者 h691938207 来自 鸿蒙OS

HarmonyOS 鸿蒙Next OCR身份证识别的问题

卡证识别出来的图片uri,怎么转成base64?

2 回复
import { CardRecognition, CallbackParam, CardType, CardSide, } from "@kit.VisionKit";
import fs from '@ohos.file.fs';
import hilog from "@ohos.hilog";
import { util } from "@kit.ArkTS";

@Entry
@Component
struct CardRecognitionPage {
  @State base64Str: string = ''

  build() {
    Column() {
      Image(this.base64Str).width('100%').height(200)
      Stack() {
        if (canIUse('SystemCapability.AI.Component.CardRecognition')) {
          CardRecognition({
            supportType: CardType.CARD_ID,
            cardSide: CardSide.FRONT,
            callback: (callbackParam: CallbackParam) => {
              hilog.info(0x0001, 'TAG', `params params cardInfo back error: ${JSON.stringify(callbackParam.cardInfo)}`)
              try {
                let file = fs.openSync(callbackParam.cardInfo?.front?.cardImageUri, fs.OpenMode.READ_ONLY)
                let imageSize = fs.statSync(file.fd).size;
                let buffer = new ArrayBuffer(imageSize);
                fs.readSync(file.fd, buffer);
                let buf: Uint8Array = new Uint8Array(buffer);
                let base64helper = new util.Base64Helper()
                this.base64Str = 'data:image/png;base64,' + base64helper.encodeToStringSync(buf, util.Type.MIME) + '';
                console.log("base64图片=====================", this.base64Str)
                fs.closeSync(file.fd)
              } catch (e) {
                hilog.info(0x0001, 'TAG', `params params cardInfo back error: ${JSON.stringify(e)}`)
              }
            }
          }).width('100%').height('100%')
        }
      }

    }
    .width("100%")
    .height("100%")
  }
}

更多关于HarmonyOS 鸿蒙Next OCR身份证识别的问题的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


针对HarmonyOS 鸿蒙Next OCR身份证识别的问题,以下是一些直接的回答:

  1. OCR识别精度问题

    • 鸿蒙Next的OCR功能在身份证识别上可能受到图片质量、光线、拍摄角度等多种因素影响。确保图片清晰、背景简单、无反光或阴影,可提高识别精度。
  2. 识别速度

    • 识别速度受设备性能、系统优化程度以及OCR算法效率共同影响。若识别速度较慢,尝试在高性能设备上运行或等待系统后续优化。
  3. 支持范围

    • 鸿蒙Next OCR功能可能不支持所有类型的身份证(如不同国家或地区的证件)。确认所识别的身份证类型是否被系统支持。
  4. API调用问题

    • 开发者在使用OCR API时,应确保遵循正确的调用方式和参数设置。检查API文档,确保调用无误。
  5. 权限问题

    • OCR功能需要访问设备摄像头或相册权限。确保应用已正确申请并获取相关权限。
  6. 系统更新

    • 鸿蒙系统不断更新,可能包含对OCR功能的改进或修复。确保设备系统为最新版本。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html。这将有助于您获得更专业的技术支持和解决方案。

回到顶部