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); } }
public void SetImageSource(int index) { if (index > -1 && _selectedCameraIndex < WebcamManager.NumberConnectedCameras()) { _selectedCameraIndex = index; WebCam camera = WebcamManager.GetCamera(index); long mn = 0, mx = 0, step = 0; if (WebcamManager.GetMinPropertyValue(index, WebcamManager.CAMERA_PROPERTY.CAMERA_FOCUS, ref mn) && WebcamManager.GetMaxPropertyValue(index, WebcamManager.CAMERA_PROPERTY.CAMERA_FOCUS, ref mx)) { FocusMinimum = Convert.ToDouble(mn); FocusMaximum = Convert.ToDouble(mx); if (FocusMinimum != FocusMaximum) { Focus_Slider.IsEnabled = true; } else { FocusMinimum = 0; FocusMaximum = 1; Focus_Slider.IsEnabled = false; } } else { FocusMinimum = 0; FocusMaximum = 1; Focus_Slider.IsEnabled = false; } if (WebcamManager.GetMinPropertyValue(index, WebcamManager.CAMERA_PROPERTY.CAMERA_ZOOM, ref mn) && WebcamManager.GetMaxPropertyValue(index, WebcamManager.CAMERA_PROPERTY.CAMERA_ZOOM, ref mx)) { ZoomMinimum = Convert.ToDouble(mn); ZoomMaximum = Convert.ToDouble(mx); if (ZoomMinimum != ZoomMaximum) { Zoom_Slider.IsEnabled = true; } else { ZoomMinimum = 0; ZoomMaximum = 1; Zoom_Slider.IsEnabled = false; } } else { ZoomMinimum = 0; ZoomMaximum = 1; Zoom_Slider.IsEnabled = false; } Image_Viewer.SetImageSource(camera); Image_Viewer_Orig.SetImageSource(camera); } }