Esempio n. 1
0
        public void bulkknoiseprocess()
        {
            //  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++)
            {
                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.SimpleSkeletonization adaptiveSmoothing = new Accord.Imaging.Filters.SimpleSkeletonization();//4



                Bitmap noiserem = adaptiveSmoothing.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");
                // 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();
            }
        }
Esempio n. 2
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();
            }
        }