Ejemplo n.º 1
0
        public void bulkknoiseprocessmnist()
        {
            //string[] file = Directory.GetFiles(@"C:\Users\kishor\Desktop\DS160\New folder (4)\a", "*.png");
            //   string[] file = Directory.GetFiles(@"C:\Users\kishor\Desktop\DS160\GAN\tensorflow-adversarial-master\tensorflow-adversarial-master\example\img\fgsm", "*.png");
            //  string[] file = Directory.GetFiles(@"C:\Users\kishor\Desktop\DS160\GAN\tensorflow-adversarial-master\tensorflow-adversarial-master\example\img\jsma\New folder", "*.png");

            //   string[] file = Directory.GetFiles(@"C:\Users\kishor\Desktop\DS160\GAN\tensorflow-adversarial-master\tensorflow-adversarial-master\example\img\deepfool", "*.png");
            string[] file = Directory.GetFiles(@"C:\Users\kishor\Desktop\DS160\GAN\tensorflow-adversarial-master\tensorflow-adversarial-master\example\img\cw2", "*.png");


            // string[] file = Directory.GetFiles(@"C:\Users\kishor\Desktop\DS160\GAN\tensorflow-adversarial-master\tensorflow-adversarial-master\example\img\ADV GAN", "*.png");
            // System.Console.Write("\n" + descriptors.Count+"  v ");
            for (int i = 0; i < file.Length; i++)
            {
                if (i == 34)
                {
                    break;
                }
                string dupImagePath = file[i];
                Bitmap org1         = (Bitmap)Accord.Imaging.Image.FromFile(dupImagePath);
                Bitmap org2         = org1.Clone(System.Drawing.Imaging.PixelFormat.Format24bppRgb); // 1,2,3
                org1.Dispose();
                org1 = ToGrayscale(org2);
                //    Bitmap org2 = org1.Clone(System.Drawing.Imaging.PixelFormat.Format8bppIndexed); // 4
                //   Accord.Imaging.Filters.GrayscaleBT709 Grayscalea = new Accord.Imaging.Filters.GrayscaleBT709();//4
                //     org1=Grayscalea.Apply(org2);
                //   Accord.Imaging.Filters.AdaptiveSmoothing adaptiveSmoothing = new Accord.Imaging.Filters.AdaptiveSmoothing(); //1
                // Accord.Imaging.Filters.AdditiveNoise adaptiveSmoothing = new Accord.Imaging.Filters.AdditiveNoise(); //2
                //  Accord.Imaging.Filters.BilateralSmoothing adaptiveSmoothing = new Accord.Imaging.Filters.BilateralSmoothing();/3
                Accord.Imaging.Filters.ZhangSuenSkeletonization adaptiveSmoothing = new Accord.Imaging.Filters.ZhangSuenSkeletonization();//4



                Bitmap noiserem  = adaptiveSmoothing.Apply(org1);
                Bitmap noiserem1 = adaptiveSmoothing.Apply(noiserem);
                Bitmap noiserem2 = adaptiveSmoothing.Apply(noiserem1);
                Bitmap noiserem3 = adaptiveSmoothing.Apply(noiserem2);
                Bitmap noiserem4 = adaptiveSmoothing.Apply(noiserem3);
                Bitmap noiserem5 = adaptiveSmoothing.Apply(noiserem4);
                Bitmap noiserem6 = adaptiveSmoothing.Apply(noiserem5);
                Bitmap noiserem7 = adaptiveSmoothing.Apply(noiserem6);
                Bitmap noiserem8 = adaptiveSmoothing.Apply(noiserem7);
                Bitmap noiserem9 = adaptiveSmoothing.Apply(noiserem8);
                Accord.Imaging.Filters.Difference filter = new Accord.Imaging.Filters.Difference(org1);



                // apply the filter
                Bitmap resultImage = filter.Apply(noiserem9);
                //  resultImage.Save(i + ".png");
                // HistogramsOfOrientedGradients hog = new HistogramsOfOrientedGradients(numberOfBins: 9, blockSize: 3, cellSize: 6);

                // Use it to extract descriptors from the Lena image:
                // List<double[]> descriptors = hog.ProcessImage(resultImage);
                //  var a = hog.Histograms;
                Accord.Imaging.ImageStatistics statistics =
                    new Accord.Imaging.ImageStatistics(resultImage);
                // get the red histogram
                var histogram = statistics.Gray;
                // get the values
                double mean   = histogram.Mean;   // mean red value
                double stddev = histogram.StdDev; // standard deviation of red values
                                                  //  int median = histogram.Median; // median red value
                                                  //  int min = histogram.Min;       // min red value
                                                  //   int max = histogram.Max;       // max value
                                                  // get 90% range around the median
                                                  //  var range = histogram.GetRange(0.9);

                Console.WriteLine("" + mean + "," + stddev);

                org2.Dispose();
                noiserem.Dispose();
                resultImage.Dispose();
            }
        }
Ejemplo n.º 2
0
        string mnist_adv      = @"C:\Users\kishor\Desktop\icsw\test\mnist\advgan"; //5

        //filters
        public void mnistbulkknoiseprocess(string filepath, int filterid, int times)
        {
            string[] file = Directory.GetFiles(filepath);
            for (int i = 0; i < file.Length; i++)
            {
                if (i == 30)
                {
                    break;
                }

                string dupImagePath = file[i];
                Bitmap org0         = (Bitmap)Accord.Imaging.Image.FromFile(dupImagePath);
                Bitmap org1         = org0.Clone(System.Drawing.Imaging.PixelFormat.Format24bppRgb);
                Bitmap noiserem     = null;
                save(i, org0, times + "_" + filterid + "_org0.png");
                save(i, org1, times + "_" + filterid + "_org1.png");
                if (filterid == 1)
                {
                    // Console.WriteLine("AdaptiveSmoothing");
                    Accord.Imaging.Filters.AdaptiveSmoothing noisefilter = new Accord.Imaging.Filters.AdaptiveSmoothing();
                    noiserem = noisefilter.Apply(org1);
                }
                else if (filterid == 2)
                {
                    //  Console.WriteLine("AdditiveNoise");
                    Accord.Imaging.Filters.AdditiveNoise noisefilter = new Accord.Imaging.Filters.AdditiveNoise();
                    noiserem = noisefilter.Apply(org1);
                }
                else if (filterid == 3)
                {
                    // Console.WriteLine("BilateralSmoothing");
                    Accord.Imaging.Filters.BilateralSmoothing noisefilter = new Accord.Imaging.Filters.BilateralSmoothing();
                    noiserem = noisefilter.Apply(org1);
                }
                else if (filterid == 4)
                {
                    //  Console.WriteLine("SimpleSkeletonization");
                    Bitmap org2 = org1.Clone(System.Drawing.Imaging.PixelFormat.Format24bppRgb); // 1,2,3
                    org1.Dispose();
                    org1 = ToGrayscale(org2);
                    Accord.Imaging.Filters.ZhangSuenSkeletonization noisefilter = new Accord.Imaging.Filters.ZhangSuenSkeletonization();

                    Bitmap noiserem0 = noisefilter.Apply(org1);
                    Bitmap noiserem1 = noisefilter.Apply(noiserem0);
                    Bitmap noiserem2 = noisefilter.Apply(noiserem1);
                    Bitmap noiserem3 = noisefilter.Apply(noiserem2);
                    Bitmap noiserem4 = noisefilter.Apply(noiserem3);
                    save(i, noiserem4, times + "_" + filterid + "_noiserem4.png");
                    Bitmap noiserem5 = noisefilter.Apply(noiserem4);
                    Bitmap noiserem6 = noisefilter.Apply(noiserem5);
                    Bitmap noiserem7 = noisefilter.Apply(noiserem6);
                    Bitmap noiserem8 = noisefilter.Apply(noiserem7);
                    noiserem = noisefilter.Apply(noiserem8);
                }

                save(i, noiserem, times + "_" + filterid + "_noiserem.png");
                Accord.Imaging.Filters.Difference filter = new Accord.Imaging.Filters.Difference(org1);



                // apply the filter
                Bitmap resultImage = filter.Apply(noiserem);

                save(i, resultImage, times + "_" + filterid + "_resultImage.png");
                Accord.Imaging.ImageStatistics statistics = new Accord.Imaging.ImageStatistics(resultImage);
                // get the red histogram
                double mean   = 0.0; // histogram.Mean;     // mean red value
                double stddev = 0.0; // histogram.StdDev
                if (filterid != 4)
                {
                    var histogram = statistics.Red;
                    mean   = histogram.Mean;   // mean red value
                    stddev = histogram.StdDev;
                }
                else
                {
                    var histogram = statistics.Gray;
                    mean   = histogram.Mean;   // mean red value
                    stddev = histogram.StdDev;
                }
                // get the values
                // standard deviation of red values
                //  int median = histogram.Median; // median red value
                //  int min = histogram.Min;       // min red value
                //   int max = histogram.Max;       // max value
                // get 90% range around the median
                //  var range = histogram.GetRange(0.9);

                Console.WriteLine("" + mean + "," + stddev);



                org0.Dispose();
                org1.Dispose();
                noiserem.Dispose();
                resultImage.Dispose();
            }
        }