Presentation is loading. Please wait.

Presentation is loading. Please wait.

EEC-490 Senior Design (CE)

Similar presentations


Presentation on theme: "EEC-490 Senior Design (CE)"— Presentation transcript:

1 EEC-490 Senior Design (CE)
Kinect Programming Tutorial 2 Wenbing Zhao 12/5/2018 EEC484/584: Computer Networks

2 Kinect Getting Started Camera Control http://www. codeproject
Camera control: you can control the camera angle programmatically namespace Microsoft.Research.Kinect.Nui { public class Camera public static readonly int ElevationMaximum; public static readonly int ElevationMinimum; public int ElevationAngle { get; set; } public string UniqueDeviceName { get; } public void GetColorPixelCoordinatesFromDepthPixel (ImageResolution colorResolution, ImageViewArea viewArea, int depthX, int depthY, short depthValue, out int colorX, out int colorY); }

3 Kinect Getting Started Camera Control http://www. codeproject
Create a new WPF project named KinectCameraControl UI design TextBlock frameRate txtCameraName Button btnStart btnStop btnCameraUp btnCameraDown BtnStartClick BtnStopClick BtnCameraUpClick BtnCameraDownClick Image image Label txtElevationAngle Label

4 Kinect Getting Started Camera Control http://www. codeproject
Add reference to Microsoft.Research.Kinect library Add using Microsoft.Research.Kinect.Nui include Add member variable: Runtime kinectNui; private Camera cam; int totalFrames = 0; int lastFrames = 0; DateTime lastTime = DateTime.MaxValue;

5 Kinect Getting Started Camera Control http://www. codeproject
Add InitializeNui() method private void InitializeNui() { try { kinectNui = new Runtime(); kinectNui.Initialize(RuntimeOptions.UseColor); kinectNui.VideoStream.Open(ImageStreamType.Video, 2, ImageResolution.Resolution640x480, ImageType.ColorYuv); lastTime = DateTime.Now; cam = kinectNui.NuiCamera; txtCameraName.Text = cam.UniqueDeviceName; kinectNui.VideoFrameReady += new EventHandler<ImageFrameReadyEventArgs>(NuiVideoFrameReady); } catch (InvalidOperationException ex) { MessageBox.Show(ex.Message);

6 Kinect Getting Started Camera Control http://www. codeproject
Add NuiVideoFrameReady() event handler method void NuiVideoFrameReady(object sender, ImageFrameReadyEventArgs e) { PlanarImage Image = e.ImageFrame.Image; image.Source = BitmapSource.Create( Image.Width, Image.Height, 96, 96, PixelFormats.Bgr32, null, Image.Bits, Image.Width * Image.BytesPerPixel); CalculateFps(); } void CalculateFps() { ++totalFrames; var cur = DateTime.Now; if (cur.Subtract(lastTime) > TimeSpan.FromSeconds(1)) int frameDiff = totalFrames - lastFrames; lastFrames = totalFrames; lastTime = cur; frameRate.Text = frameDiff.ToString() + " fps"; txtElevationAngle.Content = cam.ElevationAngle.ToString();

7 Kinect Getting Started Camera Control http://www. codeproject
Add BtnCameraUpClick() event handler method private void BtnCameraUpClick(object sender, RoutedEventArgs e) { try cam.ElevationAngle = cam.ElevationAngle + 5; } catch (InvalidOperationException ex) MessageBox.Show(ex.Message); catch (ArgumentOutOfRangeException outOfRangeException) //Elevation angle must be between Elevation Minimum/Maximum" MessageBox.Show(outOfRangeException.Message);

8 Kinect Getting Started Camera Control http://www. codeproject
Add BtnCameraDownClick() event handler method private void BtnCameraDownClick(object sender, RoutedEventArgs e) { try cam.ElevationAngle = cam.ElevationAngle - 5; } catch (InvalidOperationException ex) MessageBox.Show(ex.Message); catch (ArgumentOutOfRangeException outOfRangeException) //Elevation angle must be between Elevation Minimum/Maximum" MessageBox.Show(outOfRangeException.Message);

9 Kinect Getting Started Camera Control http://www. codeproject
Add BtnStartClick() and BtnStopClick event handler methods private void BtnStartClick(object sender, RoutedEventArgs e) { InitializeNui(); btnStop.IsEnabled = true; btnStart.IsEnabled = false; } private void BtnStopClick(object sender, RoutedEventArgs e) kinectNui.Uninitialize(); btnStop.IsEnabled = false; btnStart.IsEnabled = true; private void WindowClosed(object sender, EventArgs e)


Download ppt "EEC-490 Senior Design (CE)"

Similar presentations


Ads by Google