python-3.x - Kinect V2 vs PyKinect2:深度图像之间的差异
问题描述
我目前正在开发 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。
通过执行重塑,我“丢失”了关于距离的信息,我只有 255 的值,所以不是很有用。
例如:1600 作为距离,被认为是 255,因为这条线,它给了我上一篇文章中的第三个深度图像。所以更正很简单:
depth_frame = frame.reshape((424, 512,-1)).astype(np.uint16)
推荐阅读
- react-native - 如果应用程序已打开,则来自 expo-branch 的 Branch.subscribe 不会收到数据
- javascript - 根据国家/地区隐藏文本
- deeplearning4j - 从大的 double[][] 数组中高效地创建 `DataSetIterator`
- python - Ubuntu 与 USB 设备的通信
- time - Power BI Avg 加权时间格式度量
- r - 从 DataFrame R 中的列创建时间序列对象
- reactjs - 我不明白反应路由器是如何工作的
- html - 如何证明 flex-wrap 上的项目是合理的?
- c++ - 对象向量的深拷贝 C++
- android - 我无法用“finish()”完成活动... :(