private void btExtraction_Click(object sender, EventArgs e) { watch = new Stopwatch(); watch.Start(); feature = new double[countFile, 6]; int i = 0; int j = 0; foreach (var c in trainingData) { foreach (var fimage in c.Value) { glcm = new GLCMFeatureExtraction(new Clahe(8, 8, 256, 10, new Bitmap(fimage)).Process(), Convert.ToInt32(numGrayLevel.Value)); //glcm = new GLCMFeatureExtraction(new Bitmap(fimage), Convert.ToInt32(numGrayLevel.Value)); glcm.extract(); feature[j, 0] = glcm.getContrast(); feature[j, 1] = glcm.getDissimilarity(); feature[j, 2] = glcm.getEnergy(); feature[j, 3] = glcm.getEntropy(); feature[j, 4] = glcm.getHomogenity(); feature[j, 5] = i; j++; } Console.WriteLine("Extraction Class : " + i + ", Now Time : " + watch.Elapsed.TotalSeconds + " s"); i++; } featureToTxt(); watch.Stop(); Console.WriteLine("Extraction Time : " + watch.Elapsed.TotalSeconds + " s"); btTraining.Enabled = true; btAccuration.Enabled = true; }
private int testingDataImage(Image img) { glcm = new GLCMFeatureExtraction(new Clahe(8, 8, 256, 10, new Bitmap(img)).Process(), Convert.ToInt16(numGrayLevel.Value)); //glcm = new GLCMFeatureExtraction(img, Convert.ToInt32(numGrayLevel.Value)); double[] testGlcm = new double[5]; glcm.extract(); testGlcm[0] = glcm.getContrast(); testGlcm[1] = glcm.getDissimilarity(); testGlcm[2] = glcm.getEnergy(); testGlcm[3] = glcm.getEntropy(); testGlcm[4] = glcm.getHomogenity(); return(lvq.testing(testGlcm, weightAkhir)); }
private void glcm(Image image) { progress.Maximum = 7; progress.Value = 0; GLCMFeatureExtraction glcm = new GLCMFeatureExtraction(image, 10); progress.Value++; glcm.extract(); progress.Value++; log("Contrast : " + glcm.getContrast()); progress.Value++; log("Disimiliarity : " + glcm.getDissimilarity()); progress.Value++; log("Energy : " + glcm.getEnergy()); progress.Value++; log("Entropy : " + glcm.getEntropy()); progress.Value++; log("Homogenity : " + glcm.getHomogenity()); progress.Value++; }
private void extractionTestingAccuration() { watch = new Stopwatch(); watch.Start(); int i = 0; int correct = 0; foreach (var c in testingData) { foreach (var fimage in c.Value) { bool corr = false; var featureAccuration = new double[5]; glcm = new GLCMFeatureExtraction(new Clahe(8, 8, 256, 10, new Bitmap(fimage)).Process(), Convert.ToInt32(numGrayLevel.Value)); //glcm = new GLCMFeatureExtraction(new Bitmap(fimage), Convert.ToInt32(numGrayLevel.Value)); glcm.extract(); featureAccuration[0] = glcm.getContrast(); featureAccuration[1] = glcm.getDissimilarity(); featureAccuration[2] = glcm.getEnergy(); featureAccuration[3] = glcm.getEntropy(); featureAccuration[4] = glcm.getHomogenity(); int r = lvq.testing(featureAccuration, weightAkhir); if (r == i) { correct++; corr = true; } Console.WriteLine("Accuration File : " + fimage + ", Acc = " + corr + ", result = Class-" + r + ", Now Time : " + watch.Elapsed.TotalSeconds + " s"); } i++; } double accurate = ((double)correct / (double)countFileTesting) * 100; rcAccuration.Text = accurate + " %"; rcAccuration.SelectionAlignment = HorizontalAlignment.Center; watch.Stop(); Console.WriteLine("Time Elapsed : " + watch.Elapsed.TotalSeconds + " s"); }