示例#1
0
        static void SensorGaborFilterTest(int maxIterations)
        {
            string TrainingSetPath = Path.Combine("O:", "clean");

            var filter = new Gabor2DFilter();
            var writer = new MatrixToBitmapFileWriter("");

            var sensor = new BitmapPicture2DSensor(presentationsPerInput: 1, pathSpeed: 2, useRandomOrigin: true);
            sensor.SetTrainingFolder(TrainingSetPath);
            sensor.AddFilter(filter);
            sensor.OnFilteredMatrixOutput += writer.OutputWriterHandler;

            int nbIterations = 0;
            foreach (var input in sensor.GetTrainingInputs(true))
            {
                foreach (var iteration in input)
                {
                    nbIterations++;
                    if (nbIterations >= maxIterations)
                        break;
                }
                if (nbIterations >= maxIterations)
                    break;
            }
        }
        public void CanOutputFilterFromGabor2DFilter()
        {
            var filter = new Gabor2DFilter();
            var writer = new MatrixToBitmapFileWriter("");
            filter.OnFilterCreated += writer.OutputWriterHandler;

            var r = filter.FilterMatricesReal.Length;
            var i = filter.FilterMatricesImaginary.Length;

            Assert.AreEqual(r + i, writer.OutputFolder.GetFiles().Length);
        }
        public void CanOutputFilteredInputsFromGabor2DFilter()
        {
            var filter = new Gabor2DFilter();
            var writer = new MatrixToBitmapFileWriter("");

            var sensor = new BitmapPicture2DSensor(presentationsPerInput: 1, pathSpeed: 2, useRandomOrigin: true);
            sensor.SetTrainingFolder(TrainingSetPath);
            sensor.AddFilter(filter);
            sensor.OnFilteredMatrixOutput += writer.OutputWriterHandler;
            int maxIterations = 100, nbIterations = 0;

            var begin = DateTime.Now;
            foreach (var input in sensor.GetTrainingInputs(true))
            {
                foreach (var iteration in input)
                {
                    nbIterations++;
                    if (nbIterations >= maxIterations)
                        break;
                }
                if (nbIterations >= maxIterations)
                    break;
            }
            var end = DateTime.Now;

            Debug.WriteLine(begin);
            Debug.WriteLine("{0} (duration: {1:D} ms)", end, (int)(end - begin).TotalMilliseconds);

            Assert.AreEqual(maxIterations, writer.OutputFolder.GetFiles().Length);
        }