kinect体感游戏的相关知识原理

Kinect 体感应用开发相关资源汇总 - 行业应用 - ITeye资讯
相关知识库:
Kinect是微软Xbox 360的体感周边外设,它是一种3D体感摄影机,具备即时动态捕捉、影像辨识、麦克风输入、语音辨识、社群互动等功能。玩家可以通过该外设在游戏中开车、与其他玩家互动,以及通过互联网与其他Xbox玩家分享图片和信息等。
Kinect一经推出,立即受到了行业的追捧。今年6月和11月,微软相继发布了 Kinect for Windows SDK 的
和,以帮助开发者开发Kinect相关的应用。
微软称,“开发Kinect应用本质上和开发其他Windows应用一样,不同的是该SDK支持Kinect感应器的相关功能,比如彩色图像、深度图像、音频、骨骼动画数据等。”
本文整理了Kinect应用开发的相关资源,如果你正在进行Kinect开发或打算进行Kinect开发,这将对你有很大的帮助。
文件/工具/ 示例
注:上述资源都是英文的,但如果想从事Kinect相关开发,绝对值得一看。kinect体感控制器原理解释_图文_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
kinect体感控制器原理解释
上传于||文档简介
&&Kinect,体感原理
阅读已结束,如果下载本文需要使用2下载券
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,查找使用更方便
还剩3页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢这里简单的记录一下airKinect的基础。
AIRKinect 使用起来非常简单,类似AS3 使用摄像头Camera, 加速器Accelerometer 类, 先判断一下系统是否支持kinect
if(Kinect.isSupported())
if (Kinect.isSupported())
device = Kinect.getDevice();
rgbBitmap = new Bitmap();
addChild(rgbBitmap);
device.addEventListener(CameraImageEvent.RGB_IMAGE_UPDATE, rgbImageUpdateHandler);
var settings:KinectSettings = new KinectSettings();
settings.rgbEnabled = true;
settings.rgbResolution = CameraResolution.RESOLUTION_160_120;
device.start(settings);
这里定义device:Kinect 支持的话获取kinect设备(Kinect.getDevice),
我们可以通过KinectSettings设置画面的大小,那kinect提供了几个画面大小:
160*120、320*240、640*480、
这些设置都是在KinectSettings下的Resolution下设置,并且必须把settings下的对应的获取的是什么画面的**Enabled设置为true
var settings:KinectSettings = new KinectSettings();
settings.rgbEnabled = true;
settings.rgbResolution = CameraResolution.RESOLUTION_160_120;
如果要设置手势跟踪 则
settings.handTrackingEnabled = true;
&最后记得让设备运行设置的内容
device.start(settings);
那这里可以通过kinect获取 RGB画面、深度画面、红外线画面。
if (Kinect.isSupported()) {
device = Kinect.getDevice();
rgbBitmap = new Bitmap();
addChild(rgbBitmap);
device.addEventListener(CameraImageEvent.RGB_IMAGE_UPDATE, rgbImageUpdateHandler, false, 0, true);
device., deviceInfoHandler, false, 0, true);
device.addEventListener(DeviceErrorEvent.ERROR, deviceErrorHandler, false, 0, true);
device.addEventListener(DeviceEvent.STARTED, kinectStartedHandler, false, 0, true);
device.addEventListener(DeviceEvent.STOPPED, kinectStoppedHandler, false, 0, true);
var settings:KinectSettings = new KinectSettings();
settings.rgbEnabled = true;
settings.rgbResolution = CameraResolution.RESOLUTION_;
device.start(settings);
protected function rgbImageUpdateHandler(event:CameraImageEvent):void {
rgbBitmap.bitmapData = event.imageD
if (Kinect.isSupported()) {
device = Kinect.getDevice();
depthBitmap = new Bitmap();
addChild(depthBitmap);
device.addEventListener(CameraImageEvent.DEPTH_IMAGE_UPDATE, depthImageUpdateHandler, false, 0, true);
device.addEventListener(DeviceEvent.STARTED, kinectStartedHandler, false, 0, true);
device.addEventListener(DeviceEvent.STOPPED, kinectStoppedHandler, false, 0, true);
var settings:KinectSettings = new KinectSettings();
settings.depthEnabled = true;
settings.depthResolution = CameraResolution.RESOLUTION_640_480;
settings.depthShowUserColors = true;
device.start(settings);
红外线画面(红外线的话则需要判断是否支持红外线)
if (Kinect.isSupported()) {
device = Kinect.getDevice();
if (device.capabilities.hasInfraredSupport) {
infraredBitmap = new Bitmap();
addChild(infraredBitmap);
device.addEventListener(CameraImageEvent.INFRARED_IMAGE_UPDATE, infraredImageUpdateHandler, false, 0, true);
device.addEventListener(DeviceEvent.STARTED, kinectStartedHandler, false, 0, true);
device.addEventListener(DeviceEvent.STOPPED, kinectStoppedHandler, false, 0, true);
var config:OpenNIKinectSettings = new OpenNIKinectSettings();
config.infraredEnabled = true;
config.infraredResolution = CameraResolution.RESOLUTION_640_480;
device.start(config);
阅读(...) 评论()

参考资料

 

随机推荐