private void btnTestImage_Click(object sender, EventArgs e) { if (LDAClassifier == null) { MessageBox.Show("Classifier not trained. Please press Train!"); } else { OpenFileDialog Dialog = new OpenFileDialog(); Dialog.Filter = "jpeg files (*.jpg)|*.jpg|(*.gif)|gif||"; if (DialogResult.OK == Dialog.ShowDialog()) { ATTFace face = DataUnit.GetATTFace(Dialog.FileName); double[] projectedPCA = PCAClassifier.ComputeProjection(face.ImageVector); // Do not forget to project in PCA Space face.ImageVectorTransformed = projectedPCA; Bitmap TestBitmap = face.getImagesAsBmp(); ShowImage(TestBitmap, picTestImage); FileInfo fileInfo = new FileInfo(Dialog.FileName); lblTestImage.Text = fileInfo.Name; int guessID = LDAClassifier.PredictClassInProjectedSpace(face); MessageBox.Show("Guessed Class: " + guessID); List <ATTFace> BestFaces = LDAClassifier.FacesByClass[guessID].FacesInClass; //By default, we print the images in the class DisplayBestMatches(BestFaces); } } }
private void button3_Click(object sender, EventArgs e) { if (PCAClassifier == null) { MessageBox.Show("Classifiers have not been trained. Please press Train first!"); } else { String folderName = "C:\\Users\\chris\\Documents\\UNIVERSITY OF BRIDGEPORT\\2020SP Semester\\CPEG 585 - Computer Vision\\ATTFaceDataSet\\Testing"; List <ATTFace> TrainingFaces = DataUnit.GetTestingData(folderName); PCAClassifier.CalculateProjectedImages(TrainingFaces); double accuracy = LDAClassifier.ComputeAccuracy(TrainingFaces); MessageBox.Show("Current accuracy: " + accuracy * 100 + "%"); } }