Exemplo n.º 1
0
        public static void SaveTemplate(double[,] image, string fileName)
        {
            var minutiae = MinutiaeExtractor.GetBiolabMinutiae(image);

            object template = BioLab.Biometrics.Mcc.Sdk.MccSdk.CreateMccTemplate(image.GetLength(1), image.GetLength(0), 500, minutiae.ToArray());

            MccSdk.SaveMccTemplateToTextFile(template, Constants.pathToTemplatesDb + fileName + "_t");
        }
Exemplo n.º 2
0
        public static double GetIdentity(string fileName1, string fileName2)
        {
            object template1 = GetTemplate(fileName1);
            object template2 = GetTemplate(fileName2);

            MccSdk.SetMccMatchParameters(Constants.pathToMccParams);
            double answer = BioLab.Biometrics.Mcc.Sdk.MccSdk.MatchMccTemplates(template1, template2);

            return(answer);
        }
Exemplo n.º 3
0
        static void Main(string[] args)
        {
            if (args.Length != 4 &&
                args.Length != 5)
            {
                Console.WriteLine("\nSyntax error.\nUse: MccMatcher <MccTemplateFile1> <MccTemplateFile2> <MccMatchParametersFile> <OutputFile> [MccEnrollParametersFile]\n");
                Console.WriteLine("[MccEnrollParametersFile] is only needed to load MccTemplateFiles stored in text format.\n");
                return;
            }
            var mccTemplateFile1   = args[0];
            var mccTemplateFile2   = args[1];
            var mccMatchParamFile  = args[2];
            var outputFile         = args[3];
            var mccEnrollParamFile = args.Length == 5 ? args[4] : null;

            var matchPerformed = true;
            var score          = -1.0;

            try
            {
                if (mccEnrollParamFile != null)
                {
                    MccSdk.SetMccEnrollParameters(mccEnrollParamFile);
                }

                MccSdk.SetMccMatchParameters(mccMatchParamFile);

                /*var template1 = LoadCylinderTemplateFromFile(mccTemplateFile1);
                *  var template2 = LoadCylinderTemplateFromFile(mccTemplateFile2);*/

                var template1 = MccSdk.CreateMccTemplateFromTextTemplate(mccTemplateFile1);
                var template2 = MccSdk.CreateMccTemplateFromTextTemplate(mccTemplateFile2);
                //MccSdk.SaveMccTemplateToTextFile(template1, "D:\\Users\\Malik\\Desktop\\STAGE GREYC\\SDKs\\results\\t1.txt");
                //MccSdk.SaveMccTemplateToTextFile(template2, "D:\\Users\\Malik\\Desktop\\STAGE GREYC\\SDKs\\results\\t2.txt");

                score = MccSdk.MatchMccTemplates(template1, template2);
            }
            catch (Exception e)
            {
                matchPerformed = false;
                Console.WriteLine(e);
            }

            File.AppendAllText(outputFile, string.Format(CultureInfo.InvariantCulture,
                                                         "{0} {1} {2} {3:R}\r\n",
                                                         mccTemplateFile1,
                                                         mccTemplateFile2,
                                                         matchPerformed ? "OK" : "FAIL",
                                                         score));
        }
Exemplo n.º 4
0
 private static object GetTemplate(string fileName)
 {
     //if this template exist alredy
     if (File.Exists(Constants.pathToTemplatesDb + fileName + "_t"))
     {
         return(MccSdk.LoadMccTemplateFromTextFile(Constants.pathToTemplatesDb + fileName + "_t"));
     }
     else
     {
         var    image    = ImageHelper.LoadImage(Constants.PathToDb + fileName);
         var    minutiae = MinutiaeExtractor.GetBiolabMinutiae(image);
         object template = MccSdk.CreateMccTemplate(image.GetLength(1), image.GetLength(0), 500, minutiae.ToArray());
         MccSdk.SaveMccTemplateToTextFile(template, Constants.pathToTemplatesDb + fileName + "_t");
         return(template);
     }
 }
Exemplo n.º 5
0
        private static object LoadCylinderTemplateFromFile(string filePath)
        {
            object template = null;

            switch (Path.GetExtension(filePath).ToLowerInvariant())
            {
            case ".mcc":
                template = MccSdk.LoadMccTemplateFromBinaryFile(filePath);
                break;

            case ".txt":
                template = MccSdk.LoadMccTemplateFromTextFile(filePath);
                break;

            default:
                throw new Exception("Template file format not supported");
            }

            return(template);
        }