Kinect V2与PyKinect2:深度图像之间的差异

时间:2019-01-29 07:24:41

标签: python-3.x kinect-v2

我目前正在使用kinect V2来访问深度图像。我使用python PyKinect2中的库来帮助我拥有这些图像。

我的第一个问题是:

->我运行KinectStudio 2,并寻找深度图像,我寻找PyKinect2的实现,并且我有不同的图像。那怎么可能呢?

->为了访问称为X(x,y)的特定点的深度,我使用了MapColorFrameToDepthSpace方法,并且设法获得一些坐标,这些坐标将帮助我确定深度框上的距离。 这个说法正确吗?

获取深度图:

 def draw_depth_frame(self, frame):
     depth_frame = frame.reshape((424, 512,-1)).astype(np.uint8)
     return depth_frame

kinect 2中的图像:

Kinect Image Depth from Kinect Studio

来自kinect 2的图像具有色带:

the image from kinect 2 with color ramp

来自pyKinect 2的图片

pyKinect 2

此致

1 个答案:

答案 0 :(得分:0)

我发现我对此有误,

当我使用

def multiply_lst(lst):    
    new_list = []    
    for x in lst:
        new_list += [x] * x 
    return new_list  # returns [1, 2, 2, 2, 2, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 3, 3, 3]

这行实际上是错误的。

深度不映射在uint8上,而是映射在uint16上。

通过执行重塑,我对距离的信息有了“丢失”,我的值只有255,所以不是很有用。

示例:距离1600,被认为是255,由于这条线,它为我提供了上一篇文章中的第三个深度图像。因此,更正只是:

depth_frame = frame.reshape((424, 512,-1)).astype(np.uint8)