示例#1
0
        private List <LingValue> GetAnswersForOneFinger(InputVector inputVector, double threshold)
        {
            List <LingValue> existingValuesQuality = new List <LingValue>();

            existingValuesQuality.AddRange(Fuzzyficator.AverageQualityNfiqFuzzification(inputVector.AverageQuality));
            existingValuesQuality.AddRange(Fuzzyficator.BackgroundFuzzification(inputVector.Background));
            existingValuesQuality.AddRange(Fuzzyficator.DarknessFuzzification(inputVector.Darkness));
            existingValuesQuality.AddRange(Fuzzyficator.LowQualityBlocksNfiqFuzzification(inputVector.BadBlocks));

            List <LingValue> existingValuesFingerprint = EvaluateQuality(existingValuesQuality);

            existingValuesFingerprint.AddRange(Fuzzyficator.IdentityFuzzification(inputVector.Identity, threshold));

            var result = EvaluateFinger(existingValuesFingerprint);

            return(result);
        }
    private static void OneFingerTest(string fileName1, string fileName2)
    {
      var img1 = ImageHelper.LoadImage(Constants.PathToDb + fileName1);
      var img2 = ImageHelper.LoadImage(Constants.PathToDb + fileName2);
      double identity1 = Matcher.GetIdentity( fileName2,  fileName1);

      var map = QualityHelper.GetQualityMap(Constants.PathToDb + fileName1);
      double awerageQuality = QualityHelper.GetAverageQualityNfiq(map);
      double badBlocks = QualityHelper.GetLowQualityBlocksNfiq(map);
      double darkness = QualityHelper.GetDarkness(img1);
      double background = QualityHelper.GetBackgroundPercentage(img1);
      InputVector input = new InputVector();
      input.AverageQuality = awerageQuality;
      input.Background = background;
      input.BadBlocks = badBlocks;
      input.Darkness = darkness;
      input.Identity = identity1;

      DecisionMaker m = new DecisionMaker();
      m.GetAnswerForFinger(input,0.5);

    }
    internal static InputVector GetMonoFuzzyInput(string fileName1, string fileNameEt, QualityHelper qhelper)
    {
      //var img1 = ImageHelper.LoadImage(Constants.PathToDb + fileName1);
      //var imgEt = ImageHelper.LoadImage(Constants.PathToDb + fileNameEt);

      double identity1 = Matcher.GetIdentity(fileNameEt, fileName1);

      
      //var map = QualityHelper.GetQualityMap(Constants.PathToDb + fileName1);
      //double awerageQuality = QualityHelper.GetAverageQualityNfiq(map);
      //double badBlocks = QualityHelper.GetLowQualityBlocksNfiq(map);
      //double darkness = QualityHelper.GetDarkness(img1);
      //double background = QualityHelper.GetBackgroundPercentage(img1);

      InputVector input = new InputVector();
      input.AverageQuality = qhelper.GetAverageQualityNfiqS(fileName1);
      input.Background =  qhelper.GetBackgroundS(fileName1);
      input.BadBlocks = qhelper.GetLowQualityBlocksNfiqS(fileName1);
      input.Darkness = qhelper.GetDarknessS(fileName1);
      input.Identity = identity1;
      return input;
    }
示例#4
0
        private static void OneFingerTest(string fileName1, string fileName2)
        {
            var    img1      = ImageHelper.LoadImage(Constants.PathToDb + fileName1);
            var    img2      = ImageHelper.LoadImage(Constants.PathToDb + fileName2);
            double identity1 = Matcher.GetIdentity(fileName2, fileName1);

            var         map            = QualityHelper.GetQualityMap(Constants.PathToDb + fileName1);
            double      awerageQuality = QualityHelper.GetAverageQualityNfiq(map);
            double      badBlocks      = QualityHelper.GetLowQualityBlocksNfiq(map);
            double      darkness       = QualityHelper.GetDarkness(img1);
            double      background     = QualityHelper.GetBackgroundPercentage(img1);
            InputVector input          = new InputVector();

            input.AverageQuality = awerageQuality;
            input.Background     = background;
            input.BadBlocks      = badBlocks;
            input.Darkness       = darkness;
            input.Identity       = identity1;

            DecisionMaker m = new DecisionMaker();

            m.GetAnswerForFinger(input, 0.5);
        }
示例#5
0
        internal static InputVector GetMonoFuzzyInput(string fileName1, string fileNameEt, QualityHelper qhelper)
        {
            //var img1 = ImageHelper.LoadImage(Constants.PathToDb + fileName1);
            //var imgEt = ImageHelper.LoadImage(Constants.PathToDb + fileNameEt);

            double identity1 = Matcher.GetIdentity(fileNameEt, fileName1);


            //var map = QualityHelper.GetQualityMap(Constants.PathToDb + fileName1);
            //double awerageQuality = QualityHelper.GetAverageQualityNfiq(map);
            //double badBlocks = QualityHelper.GetLowQualityBlocksNfiq(map);
            //double darkness = QualityHelper.GetDarkness(img1);
            //double background = QualityHelper.GetBackgroundPercentage(img1);

            InputVector input = new InputVector();

            input.AverageQuality = qhelper.GetAverageQualityNfiqS(fileName1);
            input.Background     = qhelper.GetBackgroundS(fileName1);
            input.BadBlocks      = qhelper.GetLowQualityBlocksNfiqS(fileName1);
            input.Darkness       = qhelper.GetDarknessS(fileName1);
            input.Identity       = identity1;
            return(input);
        }
示例#6
0
        public LingValue GetAnswerForFinger(InputVector inputVector, double threshold)
        {
            var results = GetAnswersForOneFinger(inputVector, threshold);

            return(FindMaxLingValue(results));
        }
    private List<LingValue> GetAnswersForOneFinger(InputVector inputVector, double threshold)
    {
      List<LingValue> existingValuesQuality = new List<LingValue>();
      existingValuesQuality.AddRange(Fuzzyficator.AverageQualityNfiqFuzzification(inputVector.AverageQuality));
      existingValuesQuality.AddRange(Fuzzyficator.BackgroundFuzzification(inputVector.Background));
      existingValuesQuality.AddRange(Fuzzyficator.DarknessFuzzification(inputVector.Darkness));
      existingValuesQuality.AddRange(Fuzzyficator.LowQualityBlocksNfiqFuzzification(inputVector.BadBlocks));

      List<LingValue> existingValuesFingerprint = EvaluateQuality(existingValuesQuality);

      existingValuesFingerprint.AddRange(Fuzzyficator.IdentityFuzzification(inputVector.Identity, threshold));

      var result = EvaluateFinger(existingValuesFingerprint);
      return result;
    }
 public LingValue GetAnswerForFinger(InputVector inputVector, double threshold)
 {
   var results = GetAnswersForOneFinger(inputVector, threshold);
   return FindMaxLingValue(results);
 }