开发指南

应用开发

必须导入类

  1. 在使用驾驶证识别API时,将实现驾驶证识别的相关的类添加至工程。
    import com.huawei.hiai.pdk.resultcode.HwHiAIResultCode; // 加载引擎状态类
    import com.huawei.hiai.vision.common.ConnectionCallback; // 加载连接服务的回调函数
    import com.huawei.hiai.vision.common.VisionBase; // 加载连接服务的静态类
    import com.huawei.hiai.vision.common.VisionImage; // // 加载VisionImage类
    import com.huawei.hiai.vision.text.CardDetecor; // 加载卡证检测类
    import com.huawei.hiai.vision.visionkit.text.DriverLicense; // 加载驾驶证结果类
    import com.huawei.hiai.vision.visionkit.text.config.VisionCardConfiguration; // 加载设置类

开发

  1. 应用VisionBase静态类进行初始化,拿到服务连接的结果。
    VisionBase.init(MainActivity.this, new ConnectionCallback(){
        @Override
        public void onServiceConnect(){
            Log.i(LOG_TAG, "onServiceConnect");
        }
    
        @Override
        public void onServiceDisconnect(){
            Log.i(LOG_TAG, "onServiceDisconnect");
        }
    });
  2. 定义Detector实例,将此应用的Context当做入参。
    CardDetector detector = new CardDetector(MainActivity.this); // 构造Detector
  3. 定义调用配置项。
    VisionCardConfiguration driverLicenseConfiguration = new VisionCardConfiguration.Builder()
        .setAppType(VisionCardConfiguration.APP_NORMAL)
        .setProcessMode(VisionCardConfiguration.MODE_IN)
        .setCardType(VisionCardConfiguration.DRIVERLICENSE).build();
    detector.setVisionConfiguration(driverLicenseConfiguration);
  4. 加载引擎。
    int resultCode = detector.prepare();
  5. 定义VisionImage,并将需进行卡证检测图片的bitmap放入VisionImage中。
    VisionImage image = VisionImage.fromBitmap(bitmap);
  6. 定义结果类,以驾驶证为例。
    DriverLicense driverLicense = new DriverLicense();
  7. 调用CardDetector的detect的方法,获取结果。
    int resultCode = detector.detect(image, driverLicense, null);
    • 可以直接使用结果类获取识别结果。
      if (resultCode == HwHiAIResultCode.AIRESULT_SUCCESS) {
          String record = driverLicense.getRecord();
      }
    • 或者也可以将所有输出转化为String(这里json中加入的字段主要为了和卡证体系历史版本保持一致,可忽略)。
      JSONObject json = new JSONObject();
      try {
          json.put("resultCode", resultCode);
          if (resultCode == HwHiAIResultCode.AIRESULT_SUCCESS) {
              json.put("common_text", new GsonBuilder().disableHtmlEscaping().create().toJson(driverLicense));
          }
      } catch (JSONException e) {
          e.printStackTrace();
      }
      String totalResult = json.toString();;
搜索
请输入您想要搜索的关键词