public ucXCam() { InitializeComponent(); hDAO = new HistoryDAO(); camDAO = new CameraDAO(); fDAO = new FaceDAO(); pDAO = new PeopleDAO(); #region [Khởi tạo camera] _recognizerEngine = new RecognizerEngine(_trainerDataPath, 1); _recognizerEngineunKnow = new RecognizerEngine(_trainerDataPath, 2); _cascadeClassifier = new CascadeClassifier("haarcascade_frontalface_default.xml"); #endregion }
private void bntSaveData_Click(object sender, EventArgs e) { bool isSucess = true; foreach (Face f in facetoShow) { FaceDAO fDAO = new FaceDAO(); if (fDAO.addTrainFace(f) == -1) { isSucess = false; } } if (isSucess) { lblTrainInfo.Text = "Đã tạo dữ liệu nhận dạng"; } else { lblTrainInfo.Text = "Lỗi rồi!"; } }
public bool TrainRecognizer(int _method) { this.method = _method; List <Face> allFaces = new List <Face>(); FaceDAO fDAO = new FaceDAO(); if (method == 1) { allFaces = fDAO.getAllFace(); } else { allFaces = fDAO.getAllUnKnowFace(); } if (allFaces != null) { try { var faceImages = new Image <Gray, byte> [allFaces.Count]; var faceLabels = new int[allFaces.Count]; for (int i = 0; i < allFaces.Count; i++) { try { var faceImage = new Image <Gray, byte>(allFaces[i].FaceTrainedPath).Resize(100, 100, Inter.Cubic); faceImages[i] = faceImage; } catch { Console.WriteLine("Không thể đọc file"); } faceLabels[i] = allFaces[i].ID; } _faceRecognizer.Train(faceImages, faceLabels); _faceRecognizer.Save(_recognizerFilePath + "traineddata" + method + ".xcam"); } catch (Exception e) { Console.WriteLine(e.ToString()); } } return(true); }