private int Identify(List <byte[]> capturedTemplateList, List <byte[]> enrolledTemplateList)
        {
            NMatcher matcher = new NMatcher();
            //List<MatchingResult> identifiedIDs = new List<MatchingResult>();
            NMatchingDetails details = null;

            matcher.Verify(enrolledTemplateList[0], capturedTemplateList[0], out details);

            return(details.FacesScore);
        }
        private static string MatchingDetailsToString(NMatchingDetails details)
        {
            var detailsStr = new StringBuilder();

            if ((details.BiometricType & NBiometricType.Finger) == NBiometricType.Finger)
            {
                detailsStr.Append("    Fingerprint match details:");
                detailsStr.AppendLine(string.Format(" score = {0}", details.FingersScore));
                foreach (NFMatchingDetails fngrDetails in details.Fingers)
                {
                    detailsStr.AppendLine(string.Format("    fingerprint index: {0}; score: {1};", fngrDetails.MatchedIndex, fngrDetails.Score));
                }
            }
            if ((details.BiometricType & NBiometricType.Face) == NBiometricType.Face)
            {
                detailsStr.Append("    Face match details:");
                detailsStr.AppendLine(string.Format(" face index: {0}; score: {1}", details.FacesMatchedIndex, details.FacesScore));
                foreach (NLMatchingDetails faceDetails in details.Faces)
                {
                    detailsStr.AppendLine(string.Format("    face index: {0}; score: {1};", faceDetails.MatchedIndex, faceDetails.Score));
                }
            }
            if ((details.BiometricType & NBiometricType.Iris) == NBiometricType.Iris)
            {
                detailsStr.Append("    Irises match details:");
                detailsStr.AppendLine(string.Format(" score = {0}", details.IrisesScore));
                foreach (NEMatchingDetails irisesDetails in details.Irises)
                {
                    detailsStr.AppendLine(string.Format("    irises index: {0}; score: {1};", irisesDetails.MatchedIndex, irisesDetails.Score));
                }
            }
            if ((details.BiometricType & NBiometricType.Palm) == NBiometricType.Palm)
            {
                detailsStr.Append("    Palmprint match details:");
                detailsStr.AppendLine(string.Format(" score = {0}", details.PalmsScore));
                foreach (NFMatchingDetails fngrDetails in details.Palms)
                {
                    detailsStr.AppendLine(string.Format("    palmprint index: {0}; score: {1};", fngrDetails.MatchedIndex, fngrDetails.Score));
                }
            }
            if ((details.BiometricType & NBiometricType.Voice) == NBiometricType.Voice)
            {
                detailsStr.Append("    Voice match details:");
                detailsStr.AppendLine(string.Format(" score = {0}", details.VoicesScore));
                foreach (NSMatchingDetails voicesDetails in details.Voices)
                {
                    detailsStr.AppendLine(string.Format("    voices index: {0}; score: {1};", voicesDetails.MatchedIndex, voicesDetails.Score));
                }
            }
            return(detailsStr.ToString());
        }