Ejemplo n.º 1
0
 public MainForm(SURFFeatureExtractor featureExtractor, KnnTrainResult <SURFFeature> knnTrainResult)
 {
     InitializeComponent();
     FeatureExtractor = featureExtractor;
     TrainResult      = knnTrainResult;
     knn        = new Knn <SURFFeature>(TrainResult);
     TagToBrush = new Dictionary <string, Brush>();
     AllBrush   = new List <Brush> {
         Brushes.Aqua, Brushes.Red, Brushes.Green, Brushes.Yellow, Brushes.Gray
     };
 }
Ejemplo n.º 2
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));
        }