Exemplo n.º 1
0
        private void SurveillanceOnFaceDetected(Mat mat, List <Rectangle> faces, List <Rectangle> eyes)
        {
            //todo : maybe just put additional level of rectangles on what is already there;
            var frame = mat.Clone();

            foreach (Rectangle face in faces)
            {
                CvInvoke.Rectangle(frame, face, new Bgr(Color.Red).MCvScalar, 2);
            }

            foreach (Rectangle eye in eyes)
            {
                CvInvoke.Rectangle(frame, eye, new Bgr(Color.Blue).MCvScalar, 2);
            }

            imageBox2.Image = frame;
            var text = LabelText;

            if (checkBoxCapture.Checked && faces.Count == 1 && eyes.Count == 2 && text != null && text.Length > 0)
            {
                MemoryStream imageMemoryStream = new MemoryStream();
                Image        imageToTrain      = mat.Bitmap;
                imageToTrain.Save(imageMemoryStream, ImageFormat.Png);
                var directory  = String.Format("{0}/Output", Directory.GetCurrentDirectory());
                var imageLabel = new ImageLabel(text, imageMemoryStream.ToArray());
                var dal        = new FileSystemDAL(directory);
                dal.Add(imageLabel);
            }
        }
Exemplo n.º 2
0
        private static void RunTestData(Surveillance surveillance, string testSet)
        {
            var testImages = new FileSystemDAL(testSet).GetImages().ToList();

            foreach (var image in testImages)
            {
                var(distance, label, labelId) = surveillance.Predict(Utils.GetMat(image.Image));
                Console.WriteLine($"Img name : {image.Label} Prediction: {label}, Dist : {distance}");
            }
        }
Exemplo n.º 3
0
        public static IVideoGrab GetMockCamera(string path)
        {
            var trainDataDAL = new FileSystemDAL(path);

            return(new MockVideoGrab(trainDataDAL.GetImages().Take(100).ToList(), TimeSpan.FromMilliseconds(250)));
        }