美文网首页
Face++SDK接入流程

Face++SDK接入流程

作者: 滑稽的命运 | 来源:发表于2019-08-29 16:35 被阅读0次

Face++SDK接入流程

所用工具类和官方文档均可在Demo中找到

Face++ SDK GitHub地址

  1. 注册账号

  2. 创建应用获取API Key和API Secret

  3. 绑定BundleId,填写应用名和包名

  4. 下载SDK


    SDK下载.png
  1. 在下载的SDK目录中找到Demo,然后在Demo里拿到SDK文件,拷贝到自己项目的libs下
SDK路径.png
  1. 在Demo中找到model文件,拷贝到自己项目的raw目录下
model文件路径.png
  1. 在Project的build.gradle中增加配置

      ...
      repositories {
          flatDir { dirs 'libs' }
      }
      dependencies {
          ...
          implementation(name: 'MGLicenseManagerSDK-0.3.1', ext: 'aar')
          implementation(name: 'MGFaceppSDK-0.5.2', ext: 'aar')
      }
    
  2. 调用流程

    1. 获取线上授权

       private void onAuthFacepp() {
              final LicenseManager licenseManager = new LicenseManager(this);
              String uuid = ConUtil.getUUIDString(this);
              long apiName = Facepp.getApiName();
              licenseManager.setAuthTimeBufferMillis(0);
              licenseManager.takeLicenseFromNetwork(Util.CN_LICENSE_URL, uuid, Util.API_KEY, Util.API_SECRET, apiName,
                      "1", new LicenseManager.TakeLicenseCallback() {
                          @Override
                          public void onSuccess() {
                              // 授权成功
                              initFacepp();
                          }
      
                          @Override
                          public void onFailed(int i, byte[] bytes) {
                              if (TextUtils.isEmpty(Util.API_KEY) || TextUtils.isEmpty(Util.API_SECRET)) {
                                ...
                              } else {
                                  String msg;
                                  if (bytes != null && bytes.length > 0) {
                                      msg = new String(bytes);// 错误信息
                                      ...
                                  }
                              }
                          }
                      });
          }
      
    2. 初始化SDK

        private void initFacepp() {
              mFacepp = new Facepp();
                // 是否只检测一张脸? 是: 1; 否: 0。
              String errorCode = mFacepp.init(this, ConUtil.getFileContent(this, R.raw.megviifacepp_0_5_2_model), 1);
              if (null == errorCode) {
                  // Face++初始化成功
                  ...
              } else {
                  // Face++初始化失败
                  ... 
                  return;
              }
              Facepp.FaceppConfig faceppConfig = mFacepp.getFaceppConfig();
              faceppConfig.detectionMode = Facepp.FaceppConfig.DETECTION_MODE_TRACKING_FAST;
              mFacepp.setFaceppConfig(faceppConfig);
          }
      
    3. 调用

       Facepp.Face[] faces = mFacepp.detect(arr, width, height, Facepp.IMAGEMODE_BGR);
      

相关文章

网友评论

      本文标题:Face++SDK接入流程

      本文链接:https://www.haomeiwen.com/subject/aooiectx.html