private void Button_Clicked(object sender, RoutedEventArgs e)
        {
            if (!_selectedState)
            {
                SelectedCameraIndex = _selectedCameraIndex = camera_selector.GetSelectedCameraIndex();
                SelectedCameraName  = WebcamManager.GetCamera(SelectedCameraIndex).WebCamName;
                SelectedCameraPath  = WebcamManager.GetCamera(SelectedCameraIndex).WebCamPath;
                if (SelectedCameraIndex > -1 && SelectedCameraIndex < WebcamManager.NumberConnectedCameras())
                {
                    Image_Viewer.SetImageSource(WebcamManager.GetCamera(_selectedCameraIndex));
                }
                SelectorPanel.Visibility = Visibility.Collapsed;
                ROIPanel.Visibility      = Visibility.Visible;
                ButtonState.Content      = "<< Select another camera";
            }
            else
            {
                ROIPanel.Visibility = Visibility.Collapsed;
                if (_selectedCameraIndex > -1)
                {
                    WebCam camera = WebcamManager.GetCamera(_selectedCameraIndex);
                    Image_Viewer.RemoveImageSource(camera);
                    Image_Viewer.Clear();
                    Image_Viewer_Orig.RemoveImageSource(camera);
                }

                SelectorPanel.Visibility = Visibility.Visible;
                ButtonState.Content      = "Configure person detector >>";
            }
            _selectedState = !_selectedState;
        }
 public void CleanUp()
 {
     if (_selectedCameraIndex > -1)
     {
         WebCam camera = WebcamManager.GetCamera(_selectedCameraIndex);
         Image_Viewer.RemoveImageSource(camera);
         Image_Viewer.Clear();
         Image_Viewer_Orig.RemoveImageSource(camera);
     }
 }