API学习--NUI_IMAGE_FRAME

NUI_IMAGE_FRAME Structure(结构体)
结构体名字:NUI_IMAGE_FRAME
结构体描述:包含一个深度或者彩色图像帧的信息
结构体原型:
typedef struct _NUI_IMAGE_FRAME
    {
    LARGE_INTEGER liTimeStamp;                      //最近帧的时间戳 表明时间已经过去 因为最近一次调用NuiInitialize函数或INuiSensor:: NuiInitialize方法(毫秒数)
    DWORD dwFrameNumber;                          //最新帧的帧号,帧号是一个计数器。每次递增一Kinect传感器阵列的帧是由一个新的深度。颜色帧总是有相同的帧号码作为最新的深度帧。如果你检索彩色图像帧比深度图像帧较慢,你会看到空白的彩色帧帧的数字序列
                                                                       // 然而,后面的帧,将永远有一个更高的帧号比前面的帧。帧号每次调用NuiInitialize或插入传感器阵列复位。这意味着,你可以看到帧号复位操作过程中,如果传感器阵列被拔掉,插回,即使你的应用程序没有显式初始化                                                                        //传感器
    NUI_IMAGE_TYPE eImageType;                   //当前帧的类型
    NUI_IMAGE_RESOLUTION eResolution;      //帧图像的分辨率
    INuiFrameTexture *pFrameTexture;             //一个指针,指向一个对象,该对象包含的图像帧的数据
    DWORD dwFrameFlags;                              //未使用
    NUI_IMAGE_VIEW_AREA ViewArea;            //未使用
    } 	NUI_IMAGE_FRAME;

备注:
 要访问帧数据,调用INuiFrameTexture :: LockRect方法指向的对象由pFrameTexture成员,然后使用pBits的成员返回NUI_LOCKED_RECT结构。
 彩色图像数据的格式依赖于彩色图像的类型。如果的eImageType的成员是NUI_IMAGE_TYPE_COLOR或NUI_IMAGE_TYPE_COLOR_YUV,数据是32位每像素RGB。如果图像类型NUI_IMAGE_TYPE_COLOR_RAW_YUV       的,数据是未加工的YUYV数据,无需转换到RGB。
 如果您的应用程序包括在参数dwFlags中NuiInitialize的 NUI_INITIALIZE_FLAG_USES_DEPTH ,深度数据返回一个16位的值低12位(0-11位)包含的深度值以毫米为单位。
 如果您的应用程序包括在参数dwFlags中NuiInitialize的 NUI_INITIALIZE_FLAG_USES_DEPTH_AND_PLAYER_INDEX ,深度数据返回一个16位的值,它包含以下信息:
低阶位(第0-2位)包含骨架(播放器)的标识的。
高阶位(3-15位)包含以毫米为单位的深度值。深度数据值为零,则表示没有深入的数据是在那个位置,因为所有的对象不是太靠近相机或远离它。

你可能感兴趣的:(C/C++,Kinect,API,windows)