初学使用OpenNi开发Kinect,首先拿过来还是玩一下怎么提取图像数据。Kinect上有一个红外发射器,当驱动Kinect时发射红外扫描视场范围,红外接收器接收到物体反射回来的红外光,经过内部芯片处理后输出深度图像数据,而RGB图像传感器就直接采集到彩色图像数据。
// 3DRebuild.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include <stdlib.h>
#include <iostream>
#include <string>
#include <XnCppWrapper.h>
#include <opencv/cv.h>
#include <opencv/highgui.h>
/***************************************
Macros
****************************************/
#define XN_VGA_XRES 640
#define XN_VGA_YRES 480
using namespace std;
using namespace xn;
using namespace cv;
/***************************************
Grobals
****************************************/
/***************************************
Functions
****************************************/
void CheckOpenNIError( XnStatus eResult, string sStatus )
{
if( eResult != XN_STATUS_OK )
cer

本文介绍了如何使用OpenNI库调整Kinect的深度生成器视角以匹配彩色生成器,确保深度图和彩色图像在合成时不会错位。通过设置SetViewPoint方法实现视角对齐,并探讨了在获取数据前使用WaitNoneUpdateAll()等函数确保获取最新数据的重要性。同时提到了GetMetaData方法相较于GetDepthMap和GetImageMap的优势在于配置变化时能获取更新后的数据。

1720

被折叠的 条评论
为什么被折叠?



