Example #1
0
        static void Main(string[] args)
        {
            KnnTrainResult <SURFFeature> TrainedFeatures  = new KnnTrainResult <SURFFeature>();
            SURFFeatureExtractor         FeatureExtractor = new SURFFeatureExtractor(threshold, octaves, initial)
            {
                ExtractNegativeOnly = true, MinimumScale = minimumScale
            };

            //Training
            foreach (var SamplePathTag_Pair in SamplePathTag_Pairs)
            {
                string Path = SamplePathTag_Pair.Key;
                string Tag  = SamplePathTag_Pair.Value;

                BitmapReader TestSampleBitmapReader = new BitmapReader(Path);
                var          Bitmaps = TestSampleBitmapReader.GetBitmaps();

                Console.WriteLine("Extract features from tag:{0}, path:{1}", Tag, Path);

                var features = FeatureExtractor.ExtractFeatures(Bitmaps, Tag);
                Console.WriteLine("Features extract ,Count:{0}", features.Count());

                var knnTrainer     = new KnnTrainer <SURFFeature>(features);
                var knnTrainResult = knnTrainer.Train();
                TrainedFeatures.AddRange(knnTrainResult);

                foreach (var b in Bitmaps)
                {
                    b.Dispose();
                }

                GC.Collect();
                GC.WaitForPendingFinalizers();
            }

            Application.EnableVisualStyles();
            Application.Run(new MainForm(FeatureExtractor, TrainedFeatures));
        }