Beispiel #1
0
        static void Experiment5Taskv2Performence()
        {
            int    level = 2;
            string name  = "lenna";

            Logger.Info(name);
            string inputName = $"../../../test_images/{name}.png";
            Bitmap input     = new Bitmap(inputName);
            Bitmap output    = new Bitmap(input.Width, input.Height, input.PixelFormat);

            var imageReader = new BitmapReader <int>(input);
            var mallat      = new MallatDecomposition <int, NineSevenBiortogonalInteger <int> >(imageReader).Build(input.Size, level);

            Logger.Info(mallat.ToString());
            var    calculator      = new MallatEntropyEvaluator <int>(input.Size, level, mallat);
            var    mallatCollector = new MallatMerger <int>(input.Size, level, mallat);
            var    imageWriter     = new BitmapWriter <int>(new Bitmap(input.Width, input.Height, System.Drawing.Imaging.PixelFormat.Format32bppRgb), "", mallatCollector);
            string outputName      = $"{inputName}_{mallat.ToString()}.png";

            imageWriter.SetImageName(outputName);
            calculator.DataLength = 3;

            var sw = System.Diagnostics.Stopwatch.StartNew();

            Logger.Info("Sync:");
            imageWriter.Process();
            Logger.Info($"Time:\t{sw.Elapsed}");
            sw.Restart();
            Logger.Info("Async v2:");
            imageWriter.ProcessAsync();
            Logger.Info($"Time:\t{sw.Elapsed}");
        }