Ejemplo n.º 1
0
        private static void runonadverse()
        {
            List <double> means   = new List <double>();
            List <double> stddeva = new List <double>();

            string[] file = Directory.GetFiles(Form1.adverse);
            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     = org1;
                foreach (string filterid in ChromosomeDecode.algorithm)
                {
                    if (filterid.Equals("01"))
                    {
                        // Console.WriteLine("AdaptiveSmoothing");
                        Accord.Imaging.Filters.AdaptiveSmoothing noisefilter = new Accord.Imaging.Filters.AdaptiveSmoothing();
                        noiserem = noisefilter.Apply(noiserem);
                    }
                    else if (filterid.Equals("11"))
                    {
                        //  Console.WriteLine("AdditiveNoise");
                        Accord.Imaging.Filters.AdditiveNoise noisefilter = new Accord.Imaging.Filters.AdditiveNoise();
                        noiserem = noisefilter.Apply(noiserem);
                    }
                    else if (filterid.Equals("10"))
                    {
                        // Console.WriteLine("BilateralSmoothing");
                        Accord.Imaging.Filters.BilateralSmoothing noisefilter = new Accord.Imaging.Filters.BilateralSmoothing();
                        noiserem = noisefilter.Apply(noiserem);
                    }
                    else
                    {
                        ///donothing
                    }
                }
                Accord.Imaging.Filters.Difference filter = new Accord.Imaging.Filters.Difference(org1);
                // apply the filter
                Bitmap resultImage = filter.Apply(noiserem);
                Accord.Imaging.ImageStatistics statistics = new Accord.Imaging.ImageStatistics(resultImage);

                double mean   = 0.0; // histogram.Mean;     // mean red value
                double stddev = 0.0; // histogram.StdDev
                if (MainGA.genelength == 2)
                {
                    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;
                }
                means.Add(mean);
                stddeva.Add(stddev);
                org0.Dispose();
                org1.Dispose();
                noiserem.Dispose();
                resultImage.Dispose();
            }

            adversupperrange  = stddeva.Average() + means.Average();
            adverselowerrange = Math.Abs(means.Average() - stddeva.Average());
        }
Ejemplo n.º 2
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.º 3
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();
            }
        }
Ejemplo n.º 4
0
        /// <summary>
        /// ///////////////////////////
        /// cfiar
        /// </summary>
        public void Cfiarbulkknoiseprocess(string filepath, int filterid, int times)
        {
            string[] file = Directory.GetFiles(filepath);
            for (int i = 0; i < file.Length; i++)
            {
                if (i == 32)
                {
                    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 noiserem = null;

                if (filterid == 1)
                {
                    Accord.Imaging.Filters.AdaptiveSmoothing noisefilter = new Accord.Imaging.Filters.AdaptiveSmoothing();
                    noiserem = noisefilter.Apply(org1);
                }
                else if (filterid == 2)
                {
                    Accord.Imaging.Filters.AdditiveNoise noisefilter = new Accord.Imaging.Filters.AdditiveNoise();
                    noiserem = noisefilter.Apply(org1);
                }
                else if (filterid == 3)
                {
                    Accord.Imaging.Filters.BilateralSmoothing noisefilter = new Accord.Imaging.Filters.BilateralSmoothing();
                    noiserem = noisefilter.Apply(org1);
                }
                else if (filterid == 4)
                {
                    Accord.Imaging.Filters.SimpleSkeletonization noisefilter = new Accord.Imaging.Filters.SimpleSkeletonization();
                    noiserem = noisefilter.Apply(org1);
                }


                Accord.Imaging.Filters.Difference filter = new Accord.Imaging.Filters.Difference(org1);



                // apply the filter
                Bitmap resultImage = filter.Apply(noiserem);
                //  resultImage.Save(i + ".png");

                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);
                rt.Text = rt.Text + "\n" + "" + mean + "," + stddev;
                org2.Dispose();
                noiserem.Dispose();
                resultImage.Dispose();
            }
        }
Ejemplo n.º 5
0
        private void runonadverse()
        {
            List <double> means   = new List <double>();
            List <double> stddeva = new List <double>();

            count = 0;
            string[] file = Directory.GetFiles(Form1.adverse);
            for (int i = 0; i < file.Length; i++)
            {
                if (i == imagetotal)
                {
                    break;
                }
                string dupImagePath = file[i];
                Bitmap org0         = (Bitmap)Accord.Imaging.Image.FromFile(dupImagePath);
                Bitmap org1         = org0.Clone(System.Drawing.Imaging.PixelFormat.Format24bppRgb);
                Bitmap noiserem     = org1;
                foreach (string filterid in algorithm)
                {
                    if (filterid.Equals("01"))
                    {
                        // Console.WriteLine("AdaptiveSmoothing");
                        Accord.Imaging.Filters.AdaptiveSmoothing noisefilter = new Accord.Imaging.Filters.AdaptiveSmoothing();
                        noiserem = noisefilter.Apply(noiserem);
                    }
                    else if (filterid.Equals("11"))
                    {
                        //  Console.WriteLine("AdditiveNoise");
                        Accord.Imaging.Filters.AdditiveNoise noisefilter = new Accord.Imaging.Filters.AdditiveNoise();
                        noiserem = noisefilter.Apply(noiserem);
                    }
                    else if (filterid.Equals("10"))
                    {
                        // Console.WriteLine("BilateralSmoothing");
                        Accord.Imaging.Filters.BilateralSmoothing noisefilter = new Accord.Imaging.Filters.BilateralSmoothing();
                        noiserem = noisefilter.Apply(noiserem);
                    }
                    else
                    {
                        ///donothing
                    }
                }
                Accord.Imaging.Filters.Difference filter = new Accord.Imaging.Filters.Difference(org1);
                // apply the filter
                Bitmap resultImage = filter.Apply(noiserem);
                Accord.Imaging.ImageStatistics statistics = new Accord.Imaging.ImageStatistics(resultImage);

                double mean   = 0.0; // histogram.Mean;     // mean red value
                double stddev = 0.0; // histogram.StdDev
                if (MainGA.genelength == 2)
                {
                    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;
                }
                means.Add(mean);
                //  stddeva.Add(stddev);
                // org0.Dispose();
                //  org1.Dispose();
                //  noiserem.Dispose();
                //  resultImage.Dispose();

                if (!theadon)
                {
                    if (cleanupperrange > mean && cleanlowerrange > mean)
                    {
                        count++;
                    }
                    else if (mean > cleanupperrange && mean > cleanupperrange)
                    {
                        count++;
                    }
                    Console.WriteLine("count " + count + " index " + i);
                }


                //Form1.textlist.Add("count " + count + " index " + i);
            }

            adversupperrange  = StandardDeviation(means, 0, means.Count()) + means.Average();
            adverselowerrange = Math.Abs(means.Average() - StandardDeviation(means, 0, means.Count()));
            //  Form1.textlist.Add("adversupperrange " + adversupperrange + "adverselowerrange " + adverselowerrange);
            //     Console.WriteLine("adversupperrange " + adversupperrange + "adverselowerrange " + adverselowerrange);
        }
Ejemplo n.º 6
0
        public rettype runalgo(string s)
        {
            string dupImagePath = s;
            Bitmap org0         = (Bitmap)Accord.Imaging.Image.FromFile(dupImagePath);

            // Bitmap org1 = org0.Clone(System.Drawing.Imaging.PixelFormat.Format24bppRgb);
            if (greyscaleenable)
            {
                Accord.Imaging.Filters.GrayscaleBT709 gr = new Accord.Imaging.Filters.GrayscaleBT709();
                org0 = gr.Apply(org0);
            }
            Bitmap org1 = org0.Clone(System.Drawing.Imaging.PixelFormat.Format24bppRgb);

            Accord.Imaging.Filters.Difference filter = new Accord.Imaging.Filters.Difference(org1);
            Bitmap noiserem = org1.Clone(System.Drawing.Imaging.PixelFormat.Format24bppRgb);

            foreach (string filterid in algorithm)
            {
                int filterno = getfilter(filterid);
                if (filterno == 2)
                {
                    // Console.WriteLine("AdaptiveSmoothing");
                    Accord.Imaging.Filters.AdaptiveSmoothing noisefilter = new Accord.Imaging.Filters.AdaptiveSmoothing();
                    noiserem = noisefilter.Apply(noiserem);
                }
                else if (filterno == 4)
                {
                    //  Console.WriteLine("AdditiveNoise");
                    Accord.Imaging.Filters.AdditiveNoise noisefilter = new Accord.Imaging.Filters.AdditiveNoise();
                    noiserem = noisefilter.Apply(noiserem);
                }
                else if (filterno == 3)
                {
                    //  Console.WriteLine("BilateralSmoothing");
                    Accord.Imaging.Filters.BilateralSmoothing noisefilter = new Accord.Imaging.Filters.BilateralSmoothing();
                    noiserem = noisefilter.Apply(noiserem);
                }
                if (filterno == 5)
                {
                    //Bitmap gra = new Bitmap(noiserem.Width, noiserem.Height, PixelFormat.Format8bppIndexed);

                    // Bitmap gra = new bnoiserem.Clone(System.Drawing.Imaging.PixelFormat.form);
                    // Console.WriteLine("AdaptiveSmoothing");
                    Accord.Imaging.Filters.Erosion noisefilter = new Accord.Imaging.Filters.Erosion();
                    noiserem = noisefilter.Apply(noiserem);
                }
                else if (filterno == 6)
                {
                    //  Console.WriteLine("AdditiveNoise");
                    Accord.Imaging.Filters.Pixellate noisefilter = new Accord.Imaging.Filters.Pixellate();
                    noiserem = noisefilter.Apply(noiserem);
                }
                else if (filterno == 7)
                {
                    //  Console.WriteLine("BilateralSmoothing");
                    Accord.Imaging.Filters.GaussianBlur noisefilter = new Accord.Imaging.Filters.GaussianBlur();
                    noiserem = noisefilter.Apply(noiserem);
                }
                else if (filterno == 8)
                {
                    //  Console.WriteLine("BilateralSmoothing");
                    Accord.Imaging.Filters.GaussianSharpen noisefilter = new Accord.Imaging.Filters.GaussianSharpen();
                    noiserem = noisefilter.Apply(noiserem);
                }
                else
                {
                    ///donothing
                }
            }

            // apply the filter

            Bitmap resultImage = filter.Apply(noiserem);


            double mean = 0.0;// histogram.Mean;     // mean red value

            Accord.Statistics.Visualizations.Histogram histogram = null;;
            if (greyscaleenable == false)
            {
                Accord.Imaging.ImageStatistics statistics = new Accord.Imaging.ImageStatistics(resultImage);
                histogram = statistics.Red;
                mean      = histogram.Mean; // mean red value
            }
            else
            {
                Accord.Imaging.Filters.GrayscaleBT709 gr = new Accord.Imaging.Filters.GrayscaleBT709();
                resultImage = gr.Apply(resultImage);
                Accord.Imaging.ImageStatistics statistics = new Accord.Imaging.ImageStatistics(resultImage);

                histogram = statistics.Gray;
                mean      = histogram.Mean; // mean red value
            }
            var lbp = new LocalBinaryPattern(blockSize: 3, cellSize: 6);

            // Use it to extract descriptors from the Lena image:
            var    descriptors = lbp.ProcessImage(resultImage);
            double av          = 0.0;

            foreach (var d in descriptors)
            {
                av = av + d.Average();
            }
            av = av / descriptors.Count;



            rettype ret = new rettype();

            ret.histogram = histogram;
            ret.lbpavg    = av;
            ret.histoavg  = mean;

            return(ret);
        }