Kinect V2 vs PyKinect2:深度图像之间的差异
Kinect V2 vs PyKinect2 : difference between depth image
我目前正在研究 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 的图像
此致,
我发现我的错误,
当我使用这个
depth_frame = frame.reshape((424, 512,-1)).astype(np.uint8)
这一行其实是错误的。
深度不是映射到 uint8,而是映射到 uint16。
通过执行重塑,我得到了关于距离的 "lost" 信息,我只有 255 的值,所以不是很有用。
示例:1600 作为距离,被认为是 255,由于这条线,它给了我之前 post 上的第三张深度图像。所以更正只是一些东西:
depth_frame = frame.reshape((424, 512,-1)).astype(np.uint16)
我目前正在研究 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 的图像
此致,
我发现我的错误,
当我使用这个
depth_frame = frame.reshape((424, 512,-1)).astype(np.uint8)
这一行其实是错误的。
深度不是映射到 uint8,而是映射到 uint16。
通过执行重塑,我得到了关于距离的 "lost" 信息,我只有 255 的值,所以不是很有用。
示例:1600 作为距离,被认为是 255,由于这条线,它给了我之前 post 上的第三张深度图像。所以更正只是一些东西:
depth_frame = frame.reshape((424, 512,-1)).astype(np.uint16)