Image processing 带kinect begineer的OpenCV';怀疑
我在我的Ubuntu11.04上配置了OpenCV和libfreenect,它们分别工作。Image processing 带kinect begineer的OpenCV';怀疑,image-processing,opencv,kinect,openni,Image Processing,Opencv,Kinect,Openni,我在我的Ubuntu11.04上配置了OpenCV和libfreenect,它们分别工作。 我在OpenCV方面也有一些经验,但问题是我不知道如何将kinect和OpenCV结合起来。我希望有人能帮我找到一个好的文档,或者提供一个在OpenCV中使用kinect的简单示例代码。谷歌上关于“OpenCV kinect”的第一个链接是。我希望它能有所帮助。为了快速使事情正常运行,我建议在openni示例之一(例如NiUserTracker)中包含opencv库。在那里,可以通过以下方式从DepthM
我在OpenCV方面也有一些经验,但问题是我不知道如何将kinect和OpenCV结合起来。我希望有人能帮我找到一个好的文档,或者提供一个在OpenCV中使用kinect的简单示例代码。谷歌上关于“OpenCV kinect”的第一个链接是。我希望它能有所帮助。为了快速使事情正常运行,我建议在openni示例之一(例如NiUserTracker)中包含opencv库。在那里,可以通过以下方式从DepthMetaData对象获取深度图像
//obtain depth image
DepthMetaData depthMD;
g_DepthGenerator.GetMetaData(depthMD);
const XnDepthPixel* g_Depth = depthMD.Data();
cv::Mat DepthBuf(480,640,CV_16UC1,(unsigned char*)g_Depth);
//To display the depth image you probably would want to normalize it to 0-255 range first
//obtain rgb image
ImageMetaData ImageMD;
g_ImageGenerator.GetMetaData(ImageMD);
const XnUInt8* g_Img =ImageMD.Data();
cv::Mat ImgBuf(480,640,CV_8UC3,(unsigned short*)g_Img);
cv::Mat ImgBuf2;
cv::cvtColor(ImgBuf,ImgBuf2,CV_RGB2BGR);
要获得工作MrglMrgl代码,我必须在开始时添加以下内容:
nRetVal = g_Context.FindExistingNode(XN_NODE_TYPE_IMAGE, g_ImageGenerator);
if (nRetVal != XN_STATUS_OK)
{
printf("No image node exists! Check your XML.");
return 1;
}
在决赛中:
cv::namedWindow( "Example1", CV_WINDOW_AUTOSIZE );
cv::imshow( "Example1", ImgBuf2 );
cv::waitKey(0);
由于我不得不付出艰苦的努力,我决定作出贡献