kinect的官方教学使用C#的例子都是基于WPF应用,但我之后还要用到Emgu,也即OpenCV的C#版本。Emgu似乎对WPF应用的支持不太好,提供的几个控件也只能在winform中使用,所以采用了折中的办法,还是写winform应用吧,虽然winform快过时了。
我目前的理解是,在winform与wpf中,kinect的操作还是不变的,也就是在wpf中写的代码,拿到winform里来仍然可用,更改的只是与界面、控件相关的代码。不知此话对不对。
2代与1代的API还是有些区别,但区别不大。
第一步:建立一个winform的程序,然后添加Emgu与Kinect的引用与Emgu提供的winform控件。
第二步:在窗体上画一个ImageBox,并设置显示方式为StretchImage,用于显示彩色数据流。
第三步:写代码^_^。
我目前的理解是,在winform与wpf中,kinect的操作还是不变的,也就是在wpf中写的代码,拿到winform里来仍然可用,更改的只是与界面、控件相关的代码。不知此话对不对。
2代与1代的API还是有些区别,但区别不大。
第一步:建立一个winform的程序,然后添加Emgu与Kinect的引用与Emgu提供的winform控件。
第二步:在窗体上画一个ImageBox,并设置显示方式为StretchImage,用于显示彩色数据流。
第三步:写代码^_^。
操作kinect大体如下:获取一个可用的kinect对象(KinectSensor),获取数据源(xxxFrameSource),打开与数据源相匹配的访问器(xxxFrameReader),然后xxxFrameReader有一个事件叫FrameArrived,然后注册这个事件,写事件处理,在事件处理中我们可以从EvenArgs里获得捕捉到的这一帧(xxxFrame),然后可以交给Emgu处理。【其中xxx可以是Depth、Color、Body、BodyIndex,当然还有一个MultiSourceReader&#x