private void BtnCaptureFace_Click(object sender, EventArgs e) { if (tracker.TrackingFaces.Count > 0) { //Rectangle cropRect = new Rectangle() //Rectanle cropRect = tracker.TrackingFaces.First.Value.humanFace.faceRectangle; ImageBoxCapturedImage.Image = tracker.TrackingFaces.First.Value.humanFace.face; //cropedFace = tracker.TrackingFaces.First.Value.humanFace.face.ToJpegData(); var imageList = new ImageList { ImageSize = new Size(72, 72), ColorDepth = ColorDepth.Depth32Bit }; LvFaceList.Clear(); int i = 0; LvFaceList.LargeImageList = imageList; foreach (FaceTracker tracker in tracker.TrackingFaces) { imageList.Images.Add(i.ToString(), tracker.humanFace.face.Bitmap); LvFaceList.Items.Add(i.ToString(), i.ToString()); i++; } UpdateFlow(FlowAction.CaptureFace); //cropedFace = tracker.TrackingFaces.First.Value.humanFace.face.Resize(RESIZE_IMAGE_WIIDTH, RESIZE_IMAGE_HEIGHT, Emgu.CV.CvEnum.Inter.Cubic).ToJpegData(); } //imageBoxCapturedImage.Image = _capture.QueryFrame(); }
private async void ListFaceFromServer() { try { TxtErrorMessage.Text = ""; var response = await RestfulClient.ListPeople(); if (response.ReturnCode == 200) { var l_people = response.Content; var imageList = new ImageList { ImageSize = new Size(72, 72), ColorDepth = ColorDepth.Depth32Bit }; LvFaceList.Clear(); people.Clear(); foreach (Person person in l_people) { if (person.Face != null && person.Face.FaceData != null) { people.Add(person.Face.Identify.ToString(), person); imageList.Images.Add(person.Face.Identify.ToString(), Base64ToImage(person.Face.FaceData)); LvFaceList.LargeImageList = imageList; LvFaceList.Items.Add(person.Name, person.Face.Identify.ToString()); } } LvFaceList.LargeImageList = imageList; TxtErrorMessage.Text = "Success"; } else { TxtErrorMessage.Text = response.Message; } } catch (Exception ex) { Debug.WriteLine("Error on connecting server: " + ex.Message); Debug.WriteLine(ex.StackTrace); TxtErrorMessage.Text = "Error on connecting server: " + ex.Message; } }
private void UpdateBtnStatus(CaptureImageType newStatus) { captureImageType = newStatus; switch (captureImageType) { case CaptureImageType.None: StopPreview(); txtDetail.Text = ""; txtScore.Text = ""; txtUsrename.Text = ""; LvFaceList.Clear(); LvFaceList.Enabled = true; ImageBoxCapturedImage.Image = null; BtnCancel.Enabled = false; BtnStartPreview.Enabled = true; BtnStartPreview.Text = "New Person"; BtnSaveFace.Enabled = false; BtnCheckFace.Enabled = false; BtnListPeople.Enabled = true; BtnCaptureFace.Enabled = false; if (tracker != null) { tracker.Dispose(); tracker.TrackingFaces.Clear(); } if (people != null) { people.Clear(); } selectedPerson = null; //ListFaceFromServer(); UpdateDeleteBtn(); break; case CaptureImageType.NewPerson: LvFaceList.Clear(); LvFaceList.Enabled = false; BtnCancel.Enabled = true; BtnStartPreview.Enabled = false; BtnSaveFace.Enabled = false; BtnCheckFace.Enabled = false; BtnListPeople.Enabled = false; BtnCaptureFace.Enabled = true; UpdateDeleteBtn(); break; case CaptureImageType.CurrentPerson: BtnCancel.Enabled = true; BtnStartPreview.Enabled = true; BtnStartPreview.Text = "Start Preview"; UpdateSaveBtn(); BtnCheckFace.Enabled = false; BtnListPeople.Enabled = false; BtnCaptureFace.Enabled = false; UpdateDeleteBtn(); break; case CaptureImageType.UpdatePerson: LvFaceList.Clear(); LvFaceList.Enabled = false; BtnCancel.Enabled = true; BtnStartPreview.Enabled = false; BtnSaveFace.Enabled = false; BtnCheckFace.Enabled = false; BtnListPeople.Enabled = false; BtnCaptureFace.Enabled = true; UpdateDeleteBtn(); break; case CaptureImageType.NewPersonCaptured: LvFaceList.Enabled = true; LvFaceList.Items[0].Selected = true; LvFaceList.Items[0].Checked = true; BtnCancel.Enabled = true; BtnStartPreview.Enabled = false; UpdateSaveBtn(); UpdateCheckImageBtn(); BtnListPeople.Enabled = false; BtnCaptureFace.Enabled = true; UpdateDeleteBtn(); break; case CaptureImageType.UpdatePersonCaptured: LvFaceList.Enabled = true; LvFaceList.Items[0].Selected = true; LvFaceList.Items[0].Checked = true; BtnCancel.Enabled = true; BtnStartPreview.Enabled = false; UpdateSaveBtn(); UpdateCheckImageBtn(); BtnListPeople.Enabled = false; BtnCaptureFace.Enabled = true; UpdateDeleteBtn(); break; } TxtErrorMessage.Text = captureImageType.ToString(); }