示例#1
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);
        }