예제 #1
0
        /// <summary>
        /// 登録コマンドの実行
        /// </summary>
        /// <param name="userID">登録する顔認証対象者ID</param>
        /// <param name="userName">登録する顔認証対象者名</param>
        /// <param name="jpeg">登録する顔画像のJPEGデータ</param>
        static void DoRegister(string userID, string userName, byte[] jpeg)
        {
            var result = NfcRestApi.Register(userID, userName, jpeg).Result;

            if (result.ResultStatus == NfcRestApi.ResultStatus.Success)
            {
                Console.WriteLine($"顔認証対象者を登録しました (userOId:{result.UserOID})");
                return;
            }

            Console.WriteLine("顔認証対象者を登録できませんでした");
            switch (result.ResultStatus)
            {
            case NfcRestApi.ResultStatus.Conflict:
                Console.WriteLine("指定した顔認証対象者は既に登録されています");
                break;

            case NfcRestApi.ResultStatus.FaceNotDetected:
                Console.WriteLine("画像から顔を検出できませんでした");
                break;

            case NfcRestApi.ResultStatus.MultiFacesDetected:
                Console.WriteLine("画像に複数の顔が映っています");
                break;
            }
        }
예제 #2
0
        /// <summary>
        /// 認証コマンドの実行
        /// </summary>
        /// <param name="jpeg">認証する顔画像のJPEGデータ</param>
        /// <param name="userID">
        /// 顔認証対象者ID
        /// 指定あり: 1:1認証
        /// null: 1:N認証
        /// </param>
        static void DoAuth(byte[] jpeg, string userID)
        {
            var result = NfcRestApi.Auth(jpeg, userID).Result;

            if (result.ResultStatus == NfcRestApi.ResultStatus.Success)
            {
                var user = result.FaceMatches[0].UserMatches[0];
                Console.WriteLine($"顔認証に成功しました (ユーザ名:{user.MatchUser.UserName} 照合スコア:{user.Score})");
                return;
            }

            Console.WriteLine("顔認証に失敗しました");
            switch (result.ResultStatus)
            {
            case NfcRestApi.ResultStatus.IDUnregistered:
                Console.WriteLine("指定したユーザは登録されていません");
                break;

            case NfcRestApi.ResultStatus.FaceUnregistered:
                Console.WriteLine("指定したユーザは顔画像が登録されていません");
                break;

            case NfcRestApi.ResultStatus.FaceNotDetected:
                Console.WriteLine("画像から顔を検出できませんでした");
                break;

            case NfcRestApi.ResultStatus.MultiFacesDetected:
                Console.WriteLine("画像に複数の顔が映っています");
                break;

            case NfcRestApi.ResultStatus.FaceCheckInvalid:
                Console.WriteLine("顔を検出しましたが、照合に必要な品質を満たしていません");
                break;

            case NfcRestApi.ResultStatus.NotAvailableFeature:
                Console.WriteLine("顔を検出しましたが、特徴量の抽出に失敗しました");
                break;

            case NfcRestApi.ResultStatus.NotApplicable:
                Console.WriteLine("顔を検出しましたが、該当する対象者が見つかりませんでした");
                break;

            case NfcRestApi.ResultStatus.NotMatched:
                Console.WriteLine("顔を検出しましたが、閾値を満たす対象者が見つかりませんでした");
                break;
            }
        }