Ejemplo n.º 1
0
        void InitializeFaceDetection(int cameraindex)
        {
            Thread thread = new Thread(() =>
            {
                try
                {
                    ReleasePreviousDetectors();
                    WebcamManager.SetPropertyValueManual(cameraindex, WebcamManager.CAMERA_PROPERTY.CAMERA_FOCUS, camerafocus);
                    WebcamManager.SetPropertyValueManual(cameraindex, WebcamManager.CAMERA_PROPERTY.CAMERA_ZOOM, camerazoom);

                    faceDetector = new WebCamFaceDetector();
                    faceDetector.ToggleVisualization();
                    faceDetector.RegisterForImages(WebcamManager.GetCamera(cameraindex));
                    faceDetector.SelectedCameraIndex = cameraindex;
                    faceDetector.RoiX          = roiX;
                    faceDetector.RoiY          = roiY;
                    faceDetector.RoiWidth      = roiWidth;
                    faceDetector.RoiHeight     = roiHeight;
                    faceDetector.FaceDetected += WebCamFaceDetected;
                }
                catch (Exception err)
                {
                    MessageBox.Show(err.ToString());
                }
            });

            thread.SetApartmentState(ApartmentState.STA);
            thread.Start();
        }
Ejemplo n.º 2
0
 protected void ReleasePreviousDetectors()
 {
     if (faceDetector != null && selectedCameraIndex != -1)
     {
         for (int i = 0; i < faceDetector.SubscribedImagers.Count; i++)
         {
             faceDetector.UnregisterForImages(faceDetector.SubscribedImagers[i]);
         }
         faceDetector.Clear();
         faceDetector = null;
     }
 }