public void AddResults(string path, int l, float c) { ImageObj imageObj = new ImageObj(); imageObj.Path = path; byte[] img = File.ReadAllBytes(path); imageObj.ImageDetails = new Blob() { Image = img }; imageObj.Confidence = c; LabelObj el; try { el = LabelObjs.First(i => i.Label == l); Entry(el).Collection(i => i.ImageObjs).Load(); } catch (InvalidOperationException) { el = null; } if (el == null) { imageObj.LabelObject = new LabelObj() { Label = l, StatCount = 1 }; imageObj.LabelObject.ImageObjs = new List <ImageObj>(); imageObj.LabelObject.ImageObjs.Add(imageObj); ImageObjs.Add(imageObj); LabelObjs.Add(imageObj.LabelObject); ImageDetails.Add(imageObj.ImageDetails); } else { imageObj.LabelObject = el; imageObj.LabelObject.StatCount++; imageObj.LabelObject.ImageObjs.Add(imageObj); ImageObjs.Add(imageObj); ImageDetails.Add(imageObj.ImageDetails); } SaveChanges(); }
public void ClearDb() { foreach (var item in ImageObjs) { ImageObjs.Remove(item); } foreach (var item in ImageDetails) { ImageDetails.Remove(item); } foreach (var item in LabelObjs) { LabelObjs.Remove(item); } SaveChanges(); }
public Tuple <int, float> FindResults(string path) { Tuple <int, float> tmpInf = null; byte[] img = File.ReadAllBytes(path); ImageObj el; try { el = ImageObjs.First(i => i.Path == path); } catch (InvalidOperationException) { el = null; } if (el != null) { Entry(el).Reference(i => i.LabelObject).Load(); Entry(el).Reference(i => i.ImageDetails).Load(); if (img.Length == el.ImageDetails.Image.Length) { bool check = true; for (int i = 0; i < img.Length; i++) { if (img[i] != el.ImageDetails.Image[i]) { check = false; break; } } if (check) { tmpInf = new Tuple <int, float>(el.LabelObject.Label, el.Confidence); } } } return(tmpInf); }