Kinect程序流程

基于Kinect SDK中的API函数完成kinect解决方案,如下图所示,主要包括5个部分:初始化,获取图像,分析跟踪状态,显示图像,以及退出。下面将分别介绍。

Kinect SDK中的API函数以“Nui”开头,一般命名为“NuiXXXX”。为了与Kinect SDK中的API函数区别,kinect解决方案中的函数均以“KinectXXXX”命名,内部调用Kinect SDK中的API函数。

1 初始化

对应KinectNuiInit()函数,初始化Kinect设备,设置摄像头仰角,打开颜色流、深度流和骨架流。

2 获取图像

对应KinectGetDepthImage()KinectColorFrameToImage()KinectGetSkeleton()函数,从颜色流、深度流和骨架流中获得数据帧,转化为openCV中的IplImage图像类型。

上面的3个函数调用了KinectGetFrame()KinectDepthFrameToImage()KinectColorFrameToImage(),获取数据帧,并且转化为对应图像类型。

3 分析跟踪状态

对应KinectJudgeTrack(),判断当前的跟踪状态以及控制权所示情况。

KinectJudgeTrack()调用了KinectPointDistance()KinectPointHorizontalDistance(),求出两点之间的距离以及两点之间的水平距离。

4 显示图像

对应KinectDrawSkeleton()以及主函数中的显示部分,实时显示颜色图、深度图以及处理之后的骨架图。

KinectDrawSkeleton()调用了KinectDrawSkeletonLine(),画出骨架中各关节的连线。

5 退出

对应KinectNuiUnInit(),关闭颜色流、深度流和骨架流,关闭显示颜色图、深度图以及处理之后的骨架图的界面,关闭Kinect设备。

你可能感兴趣的:(Kinect程序流程)