//private void SaveDefaultGesturesButton_Click(object sender, EventArgs e) //{ // GestureRecognition.Save("default", false); //} private void LoadGestureSVMButton_Click(object sender, EventArgs e) { OpenFileDialog dialog = new OpenFileDialog(); dialog.Filter = "SVM Files|*.svm"; dialog.InitialDirectory = Path.GetFullPath("savedProfiles"); dialog.CheckFileExists = true; if (dialog.ShowDialog(this) == DialogResult.OK) { //if((ModifierKeys & Keys.Control) == Keys.Control) //{ // // merge the default gestures // List<string> profiles = new List<string>(); // foreach (string dir in Directory.GetDirectories("savedProfiles")) // profiles.Add((new DirectoryInfo(dir)).Name); // if (profiles.Contains("default")) profiles.Remove("default"); // foreach(string profile in profiles) // { // string[] filenames = Directory.GetFiles(Path.Combine("savedProfiles", profile), "*.gest"); // foreach(string filename in filenames) // { // string name = Path.GetFileNameWithoutExtension((new FileInfo(filename)).Name); // string newFilename = Path.Combine("savedProfiles", "allGestures", name + ".gest"); // if(File.Exists(newFilename)) // { // int index = 0; // do // { // index++; // newFilename = Path.Combine("savedProfiles", "allGestures", name + "_" + index + ".gest"); // } while (File.Exists(newFilename)); // } // File.Copy(filename, newFilename); // } // } // return; //} Task.Factory.StartNew(() => { try { //if (Properties.Settings.Default.OverwriteExistingSamples) GestureRecognition.Reset(); //List<string> profiles = new List<string>(); //foreach (string dir in Directory.GetDirectories("savedProfiles")) // profiles.Add((new DirectoryInfo(dir)).Name); //if (profiles.Contains("default")) profiles.Remove("default"); //if (profiles.Count == 0) //{ // MessageBox.Show("Error: no saved profiles!"); // return; //} //Debug.WriteLine("Loading all gestures"); //foreach (string profile in profiles) //string profile = "allGestures"; //GestureRecognition.Load(profile, false, true); //Debug.WriteLine("Training classifier"); //GestureRecognition.Train(fullRetrain: false); GestureRecognition.LoadClassifier(dialog.FileName); Logging.LogOtherEvent("Load Gesture SVM: " + dialog.FileName); //GestureRecognition.Load("default"); //Debug.WriteLine("Updating display"); //UpdateLists(); UpdateGestureCount(); } catch { MessageBox.Show("Error: could not load gestures"); } }); } }