我目前正在使用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 2的图像具有色带:
来自pyKinect 2的图片
此致
答案 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)