Пример #1
0
        private void init()
        {
            var path                  = Path.Combine(Directory.GetParent(Environment.CurrentDirectory).FullName, "Resources", "PrototypeTemplatesBW");
            var generatedScales       = EnumerableExtensions.GetRange(60, 170, 3);
            var generatedOrientations = EnumerableExtensions.GetRange(-90, +90, (int)((180f / GlobalParameters.NUM_OF_QUNATIZED_ORIENTATIONS) / 2 / 2 /*user factor - last "2"*/));

            Console.WriteLine("Generating templates.... Please wait!");
            var templates = OpenHandTemplate.CreateRange(path, "*.bmp", generatedScales, generatedOrientations);

            ModelRepository.Initialize(templates);
            //drawTemplatesToFiles(templates, "C:/generatedTemplates");

            Console.WriteLine("Initializing particle filter!");
            particleFilter = ParticleFilter.UnifromParticleSpreadInitializer(
                NUMBER_OF_PARTICLES,
                new DoubleRange[]
            {
                //template type
                new DoubleRange(0, ModelRepository.PrototypeCount - 1),

                //scale
                new DoubleRange(70, 150),

                //rotation
                new DoubleRange(-15, 15)
            },
                ModelParticle.FromParameters).ToList();

            initialParticles = particleFilter.Select(x => (ModelParticle)x.Clone()).ToList();
            resetClock       = new Stopwatch(); resetClock.Start();
        }
Пример #2
0
 private void init()
 {
     particleFilter = ParticleFilter.UnifromParticleSpreadInitializer <ColorParticle>
                      (
         //particles' count
         1000,
         //position range
         new DoubleRange[]
     {
         new DoubleRange(0, imgSize.Width),
         new DoubleRange(0, imgSize.Height)
     },
         //convert arr => position (create from array)
         ColorParticle.FromArray
                      )
                      .ToList();
 }