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()); }
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(); } }
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(); } }
/// <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(); } }
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); }
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); }