Пример #1
0
 private void OnPredictionCome(PredictionResult pr, EventArgs e, bool isInBase = false)
 {
     Dispatcherr.BeginInvoke(DispatcherPriority.Background, new Action(() =>
     {
         Observ.Add(new RecognitionModel(pr.Path, pr.ClassLabel));
         int index = -1;
         foreach (var tmp in ClassObserv)
         {
             if (tmp.Item1.Equals(pr.ClassLabel))
             {
                 index = ClassObserv.IndexOf(tmp);
                 break;
             }
         }
         if (index != -1)
         {
             ClassObserv[index] = new Tuple <string, int>(ClassObserv[index].Item1, ClassObserv[index].Item2 + 1);
         }
         else
         {
             ClassObserv.Add(new Tuple <string, int>(pr.ClassLabel, 1));
         }
         if (!isInBase)
         {
             var newElem = new RecognitionModel(pr.Path, pr.ClassLabel);
             DataBaseContext.DataBaseInfo.Add(newElem);
             DataBaseContext.SaveChanges();
             if (DataBaseContext.ClassLabelsInfo.Find(newElem.ClassLabel) == null)
             {
                 DataBaseContext.ClassLabelsInfo.Add(new ClassInfo(newElem.ClassLabel, newElem));
             }
             else
             {
                 DataBaseContext.ClassLabelsInfo.Find(newElem.ClassLabel).RecogModel.Add(newElem);
             }
             DataBaseContext.SaveChanges();
         }
     }));
 }
Пример #2
0
 public ClassInfo(string name = "", RecognitionModel rec = null)
 {
     this.Name       = name;
     this.RecogModel = new List <RecognitionModel>();
     this.RecogModel.Add(rec);
 }