public User RecognizeFace(Image <Gray, byte> face) { using (var context = new FaceRecognitionContext()) { var faces = new List <Image <Gray, byte> >(); var ids = new List <string>(); foreach (var user in context.Users) { var reconogizedFace = new Image <Gray, byte>(user.Face.GetBitmap()); var id = user.Id.ToString(CultureInfo.InvariantCulture); faces.Add(reconogizedFace); ids.Add(id); } if (ids.Any()) { var termCrit = new MCvTermCriteria(ids.Count(), 0.001); var recognizedFaces = new EigenObjectRecognizer(faces.ToArray(), ids.ToArray(), 2500, ref termCrit); var label = recognizedFaces.Recognize(face); if (!String.IsNullOrEmpty(label)) { var id = int.Parse(label); return(context.Users.SingleOrDefault(x => x.Id == id)); } } return(null); } }
public ImageLabel Get(int id) { using (var context = new FaceRecognitionContext()) { return(context.ImageLabels.FirstOrDefault(e => e.ImageLabelId == id)); } }
public void SaveNewDetectedFace(string name, Image <Gray, byte> detectedFace) { using (var context = new FaceRecognitionContext()) { byte[] pixelData; using (var ms = new MemoryStream()) { detectedFace.Bitmap.Save(ms, ImageFormat.Bmp); pixelData = ms.ToArray(); } var recognizedFace = new RecognizedFace { Height = detectedFace.Height, Width = detectedFace.Width, PixelData = pixelData }; var user = new User { Face = recognizedFace, NickName = name }; context.Users.Add(user); context.SaveChanges(); } }
public void Add(ImageLabel image) { using (var context = new FaceRecognitionContext()) { context.ImageLabels.Add(image); context.SaveChanges(); } }
public void Add(IEnumerable <ImageLabel> images) { using (var context = new FaceRecognitionContext()) { context.ImageLabels.AddRange(images); context.SaveChanges(); } }
public IEnumerable <ImageLabel> GetImages() { using (var context = new FaceRecognitionContext()) { var imageLabels = context.ImageLabels.AsNoTracking(); return(imageLabels.ToList()); } }
public void SetLabel(int imageLabelId, string label) { using (var context = new FaceRecognitionContext()) { var imageLabelToSetLabel = context.ImageLabels.FirstOrDefault(e => e.ImageLabelId == imageLabelId); if (imageLabelToSetLabel != null) { imageLabelToSetLabel.Label = label; context.SaveChanges(); } } }
public void Delete(int id) { using (var context = new FaceRecognitionContext()) { var imageLabelToDelete = context.ImageLabels.FirstOrDefault(e => e.ImageLabelId == id); if (imageLabelToDelete != null) { context.ImageLabels.Remove(imageLabelToDelete); context.SaveChanges(); } } }
public Dictionary <string, int> GetLabelMap() { var labelsDict = new Dictionary <string, int>(); using (var context = new FaceRecognitionContext()) { labelsDict = context.ImageLabels.AsNoTracking() .ToDictionary(a => a.Label, b => b.ImageLabelId); } labelsDict["unknown"] = 0; return(labelsDict); }
static void Main(string[] args) { using (var db = new FaceRecognitionContext()) { var query = from u in db.Students orderby u.StudentId select u; foreach (var item in query) { Console.WriteLine(item.StudentId + ": " + item.FullName); } Console.WriteLine("Press any key to exit..."); Console.ReadKey(); } }
public SlotManagement() { _context = new FaceRecognitionContext(); }
public AttendanceManagement() { _context = new FaceRecognitionContext(); }