博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
kinect sdk开发入门WPFdemo笔记
阅读量:6294 次
发布时间:2019-06-22

本文共 3139 字,大约阅读时间需要 10 分钟。

    随着2012年2月1号版本的发布,将会有更多的人投身于Kinect for Windows的开发,本人利用官方提供的开发视频进行编写的第一个WPF demo。步骤如下:

    1.

    2.

     3.

     4.

     5.

    6.

     7.

     8.

      9.

      10.

 

    11.

 

     12.

       13.MainWindow.xaml内容:

      14.后台代码如下:

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Imaging; using System.Windows.Navigation; using System.Windows.Shapes; using Microsoft.Kinect; namespace KinectSdkDemo {
/// /// MainWindow.xaml 的交互逻辑 /// public partial class MainWindow : Window {
public MainWindow() {
InitializeComponent(); } // KinectSensor _sensor; private void Window_Loaded(object sender, RoutedEventArgs e) {
kinectSensorChooser1.KinectSensorChanged += new DependencyPropertyChangedEventHandler(kinectSensorChooser1_KinectSensorChanged); //if (KinectSensor.KinectSensors.Count > 0) //{
// _sensor = KinectSensor.KinectSensors[0]; //} //if (_sensor.Status == KinectStatus.Connected) //{
// _sensor.ColorStream.Enable(); // _sensor.DepthStream.Enable(); // _sensor.SkeletonStream.Enable(); // _sensor.AllFramesReady += new EventHandler
(_sensor_AllFramesReady); // _sensor.Start(); //} } void _sensor_AllFramesReady(object sender, AllFramesReadyEventArgs e) {
/*throw new NotImplementedException();*/ //using (ColorImageFrame colorFrame = e.OpenColorImageFrame()) //{
// if (colorFrame == null) // {
// return; // } // byte[] pixels = new byte[colorFrame.PixelDataLength]; // colorFrame.CopyPixelDataTo(pixels); // int stride = colorFrame.Width * 4; // image1.Source = // BitmapSource.Create(colorFrame.Width, colorFrame.Height, 96, 96 // , PixelFormats.Bgr32, null, pixels, stride); //} } void StopKinect(KinectSensor sensor) {
if (sensor != null) {
sensor.Stop(); sensor.AudioSource.Stop(); } } private void Window_Closing(object sender, System.ComponentModel.CancelEventArgs e) {
StopKinect(kinectSensorChooser1.Kinect); } void kinectSensorChooser1_KinectSensorChanged(object sender, DependencyPropertyChangedEventArgs e) {
KinectSensor oldSensor = (KinectSensor)e.OldValue; StopKinect(oldSensor); KinectSensor newSensor = (KinectSensor)e.NewValue; newSensor.ColorStream.Enable(); newSensor.DepthStream.Enable(); newSensor.SkeletonStream.Enable(); // newSensor.AllFramesReady += new EventHandler
(_sensor_AllFramesReady); try {
newSensor.Start(); } catch (System.IO.IOException) {
kinectSensorChooser1.AppConflictOccurred(); } } } }

     15.运行结果忽略.

转载于:https://www.cnblogs.com/yemeishu/archive/2012/02/02/2336171.html

你可能感兴趣的文章
IT绩效管理消除IT与业务之间的隔阂
查看>>
解决 MSChart控件 X轴坐标显示不全的问题
查看>>
在C#中选择“.NET研究”正确的集合进行编码
查看>>
再次分享一个多选文件上传方案“.NET研究”
查看>>
PySide教程:一个简单的点击“.NET研究”按钮示例
查看>>
find命令
查看>>
网络通讯程序整理(一)
查看>>
[转载]一站式WPF--Window
查看>>
poj-1159 Palindrome **
查看>>
VS2010/VS 2013 删除空行
查看>>
解决linux ssh登陆缓慢问题
查看>>
将二叉查找树转化为链表的代码实现
查看>>
[转]宽字符的介绍
查看>>
UIScrollView用法
查看>>
SQL 判断两个时间段是否有交叉
查看>>
python打包_cx_freeze
查看>>
web.config/app.config敏感数据加/解密的二种方法
查看>>
PHP监控linux服务器负载
查看>>
delphi 入门教程
查看>>
技术人员,你拿什么拯救你的生活----温水煮青蛙
查看>>