Kinect学习笔记(一)

AForge.NET是一套用C#编写的Framework,能提供计算机视觉,人工智能方面的API,包括图形处理,神经网络,一些通用算法和机器学习等,下载地址:http://www.aforgenet.com/

NUI API是KInect SDK的核心,用来处理彩色图像流、深度图像数据、骨骼跟踪和控制

NUI API的初始化
1获得Kinect实例
2调用KinectSensor.Start方法初始化并启动Kinect传感器
3注册相关事件
4调用KinectSensor.Stop方法关闭传感器
信噪比:用于度量语音信号和环境噪声的对比
图像数据流可以理解为一组连续静止图像帧的集合,在初始化NUI时,可以设置图像分辨率,图像类型和视频流缓冲区的大小,一般而言,应用程序应该在缓冲区填满前获取流,否则,随着新数据帧的到来,旧的数据帧就会丢失,一个应用程序最多可以申请4个缓冲区

应用程序可以设定彩色图像的编码格式,包括RGB,YUV两种编码
默认情况下,KInect的彩色图像保持30帧每秒的传输速率和320*240的分辨率,高质量的图像需要每帧发送更多的数据流,因此传输速率(每秒帧数)会下降

骨骼跟踪第一步是将用户从北京中分离出来,称为用户分割数据,他属于深度数据的一部分,深度图像的每个像素由2字节共16位组成,每个像素的高13位代表从KInect红外身相投到最近物体对象的距离,以毫米为单位,低3位字节表示被跟踪的用户索引编号(比如一帧里面可能有多个人),低3位为000时表示无用户,那么还有7种组合,所以Kinect1.0理论上最多支持7个用户的跟踪,官方文档称最多支持6个
DepImageStream的属性:TooFarDepth:获取深度值有效范围的最大值,即红外摄像头能看到的最远距离
TooNearStream:小,近

深度数据流中的每个像素使用13位记录深度数据,3位记录用户ID,如果深度数据是0,说明该位置的深度数据不可获得,当骨骼跟踪引擎被关闭时,记录ID的3位被设为0

深度图像的每个像素为16位,定义一个short数据来存储深度图像

对于深度图像中的某个点p(x,y)depthFrame.Width为深度图像宽度,通过位运算来计算某个像素所表达的目标物体与KInect的距离

在这里插入图片描述

Kinect一共有3个摄像头,中间一个是RGB摄像头,用来获取640×480的彩色图像,每秒钟最多获取30帧图像;两边的是两个深度传感器,左侧的是红外线发射器,右侧的是红外线接收器,用来检测玩家的相对位置。Kinect的两侧是一组四元麦克风阵列,用于声源定位和语音识别;下方还有一个带内置马达的底座,可以调整俯仰角。

在这里插入图片描述
Kinect骨骼追踪是通过红外投影器来感知外部环境的,因此,无论外部环境光照条件如何,都可以完成骨骼追踪的功能。
Kinect人体 骨 骼 信 息 获 取 的 具 体 过 程 为:首 先Kinect发射红外线并接收红外光的反射,从而可以计算出视场范围内每一个像素的深度值,即可获得深度图像,从深度图像中可以提取物体的形状;然后利用这些形状信息来匹配人体的各部分;最后计算出人体各关节的位置
由于外界环境的影响,Kinect深度摄像头所获取的深度图像不是很稳定,存在一定的噪声和空洞,如果直接从中提取骨骼信息,会对提取的结果产生一定的影响,因此需要预先对深度图像做进一步的噪声滤波来消除空洞和边缘模糊现象对深度信息的影响。

从KinectSensor获取数据最常用的方式是通过监听该对象的一系列事件。每一种数据流都有对应的事件,当改类型数据流可用时,就会触发该事件。每一个数据流以帧(frame)为单位。例如:ColorImageStream当获取到了新的数据时就会触发ColorFrameReady事件。

查找Kinect设备可以通过简单的遍历集合找到;但是KinectSensor集合中的设备不是都能直接使用,所以KinectSensor对象有一个Status属性,他是一个枚举类型,标识了当前Kinect设备的状态。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值