コード例 #1
0
        public bool TrainRecognizer(Image <Gray, byte>[] faceImages, int[] faceLabels)
        {
            _faceRecognizer.Train(faceImages, faceLabels);
            _faceRecognizer.Save(_recognizerFilePath);

            return(true);
        }
コード例 #2
0
        public void TrainRecognizer()
        {
            var allFaces = new FRService().All();

            if (allFaces.Count > 0)
            {
                var faceImages = new Image <Gray, byte> [allFaces.Count];
                var faceLabels = new int[allFaces.Count];
                for (int i = 0; i < allFaces.Count; i++)
                {
                    Stream stream = new MemoryStream();
                    stream.Write(allFaces[i].Face, 0, allFaces[i].Face.Length);
                    var faceImage = new Image <Gray, byte>(new Bitmap(stream));
                    faceImages[i] = faceImage.Resize(100, 100, Inter.Cubic);
                    faceLabels[i] = (int)(allFaces[i].Id);
                }

                // can also try :LBPHFaceRecognizer
                var fr = new EigenFaceRecognizer();
                fr.Train(faceImages, faceLabels);

                var retPath   = ConfigurationManager.AppSettings["trainedPath"];
                var savedFile = retPath + $"{DateTime.Now.ToString("yyyy-MM-dd HH-mm-ss")}_frModel";
                fr.Save(savedFile);

                MessageBox.Show($"Model trained successfully. saved into {savedFile}");
            }
            else
            {
                MessageBox.Show("No face found in db");
            }
        }
コード例 #3
0
ファイル: Trainee.cs プロジェクト: jathusan123/FaceRec
        public void TrainRecognizer()
        {
            //  FaceRecognizer _faceRecognizer = new LBPHFaceRecognizer(1, 8, 8, 8, double.PositiveInfinity);
            FaceRecognizer  _faceRecognizer  = new EigenFaceRecognizer(80, double.PositiveInfinity);
            DataStoreAccess _datastoreaccess = new DataStoreAccess();
            var             allFaces         = _datastoreaccess.callfaces();

            //  MessageBox.Show(allFaces.Count.ToString());
            if (allFaces != null)
            {
                var faceImages = new Image <Gray, byte> [allFaces.Count];
                var faceLabels = new int[allFaces.Count];
                for (int i = 0; i < allFaces.Count; i++)
                {
                    Stream stream = new MemoryStream();
                    stream.Write(allFaces[i].Image, 0, allFaces[i].Image.Length);
                    var faceImage = new Image <Gray, byte>(new Bitmap(stream));
                    // faceImages[i] = faceImage.Resize(100, 100, Inter.Cubic);
                    faceImages[i] = faceImage.Resize(100, 100, Inter.Cubic);
                    faceLabels[i] = Convert.ToInt32(allFaces[i].Label);
                }

                string filepath = Application.StartupPath + "/traineddata";
                // var filePath = Application.StartupPath + String.Format("/{0}.bmp", face);
                _faceRecognizer.Train(faceImages, faceLabels);

                _faceRecognizer.Save(filepath);
                // MessageBox.Show(allFaces[0].Label);
            }
            else
            {
                //MessageBox.Show("adasfsf");
            }
        }
コード例 #4
0
 /// <summary>
 /// Trains recognizer on fetched face-label pairs and saves the trained data to recognition variables
 /// </summary>
 public void TrainRecognizer()
 {
     recog = new EigenFaceRecognizer();
     recog.Train <Gray, byte>(imgs.ToArray(), ints);
     MessageBox.Show("aww yes");
     recog.Save("trainingset/test.frl");
     MessageBox.Show("tuwid na daan o");
 }
コード例 #5
0
 public bool Train(byte[][] faces, int[] labels)
 {
     Image <Gray, byte>[] resizedFaces = new Image <Gray, byte> [faces.Length];
     for (int i = 0; i < faces.Length; i++)
     {
         resizedFaces[i] = StreamConverter.ByteToImageResize(faces[i]).Clone();
     }
     _faceRecognizer.Train(resizedFaces, labels);
     _faceRecognizer.Save(Environment.GetFolderPath(Environment.SpecialFolder.UserProfile) + "\\Documents\\test-recognizer.yaml");
     return(true);
 }
コード例 #6
0
        public bool TrainRecognizer()
        {
            var allFaces = dbAccess.CallFaces("ALL_USERS");

            if (allFaces != null)
            {
                var faceImages = new Image <Gray, byte> [allFaces.Count];
                var faceLabels = new int[allFaces.Count];
                for (int i = 0; i < allFaces.Count; i++)
                {
                    Stream stream = new MemoryStream();
                    stream.Write(allFaces[i].Image, 0, allFaces[i].Image.Length);
                    var faceImage = new Image <Gray, byte>(new Bitmap(stream));
                    faceImages[i] = faceImage.Resize(100, 100, Inter.Cubic);
                    faceLabels[i] = allFaces[i].UserId;
                }
                faceRecognizer.Train(faceImages, faceLabels);
                faceRecognizer.Save(recognizerFilePath);
            }
            return(true);
        }
コード例 #7
0
ファイル: ViewModel.cs プロジェクト: AdamStawarz/Emgu_Face
        public void TrainRecognizer()
        {
            var allFaces = _dataStoreAccess.CallFaces("ALL_USERS");

            if (allFaces != null)
            {
                var faceImages = new Image <Gray, byte> [allFaces.Count];
                var faceLabels = new int[allFaces.Count];
                for (int i = 0; i < allFaces.Count; i++)
                {
                    Stream stream = new MemoryStream();
                    stream.Write(allFaces[i].Image, 0, allFaces[i].Image.Length);
                    var faceImage = new Image <Gray, byte>(new Bitmap(stream));
                    faceImages[i] = faceImage.Resize(100, 100, Inter.Cubic);
                    faceLabels[i] = allFaces[i].UserId;
                }


                _faceRecognizer.Train(faceImages, faceLabels);
                _faceRecognizer.Save(@"C:\Users\Dom\Documents\Visual Studio 2015\Projects\Emgu\Emgu\Faces\recognizerFilePath\file.yaml");
            }
        }