【问题标题】:How to get raw depth values from Kinect depth stream?如何从 Kinect 深度流中获取原始深度值?
【发布时间】:2011-11-29 15:55:19
【问题描述】:

我正在使用 Lucas Kanade 算法跟踪人体的运动。我正在研究 Kinect 的 RGB 和深度流。我必须在身体上放置一些点,并跟踪这些点。最后必须计算它们的 xyz 坐标。

我的问题是,如何从深度流中获取特定像素的 z 坐标?我知道 kinect 的 Depth 原始深度值在 0-2047 范围内......并且在其上应用公式可以获得我想要的任何单位的距离。但是如何获得这种原始深度呢?有人可以帮忙吗?

我正在为 kinect 和 opencv 使用 libfreenect 驱动程序。

【问题讨论】:

    标签: tracking kinect


    【解决方案1】:

    使用 OpenCV 2.3.x,您可以检索所需的所有信息。您需要使用 OpenNI 从源代码编译它才能工作。看这段代码:

    VideoCapture capture(CV_CAP_OPENNI); 
    for(;;)
    {
        Mat depthMap;
        Mat rgbImage
    
        capture.grab();
    
        capture.retrieve( depthMap, OPENNI_DEPTH_MAP );
    
    
    
        if( waitKey( 30 ) >= 0 )
            break;
    }
    

    是的,就是这么简单。 depthMap 将在每个索引中存储一个深度。该深度表示从传感器到表面的距离,如果深度是用 IR 测量的。更多详情请访问:http://opencv.itseez.com/doc/user_guide/ug_highgui.html

    【讨论】:

    • 伊恩,这是很好的信息!找了好几个小时了。
    猜你喜欢
    • 1970-01-01
    • 2016-12-01
    • 2011-11-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-23
    • 1970-01-01
    • 2012-07-28
    相关资源
    最近更新 更多