我正在开发一个煤渣和kinect v2应用程序,目前我被困在将颜色点映射到深度点上。我在颜色框中搜索特定颜色的特定点,所以我得到了颜色框point x和y。
我想从这里得到深度,但当然深度帧是不同的分辨率和视点,所以你不能只是索引它。
我找不到任何从颜色点到深度点甚至相机点的映射器。除了自己测量之外,有没有一种简单的方法可以做到这一点?
我的问题类似于这个问题:How to get real world coordinates (x, y, z) from a distinct object using a Kinect,但我不需要实际的真实世界坐标。然而,这里的答案并不能完全解释我需要做什么。
发布于 2015-12-11 18:20:03
你必须使用CoordinateMapperClass。对于您的案例:
使用函数
public void MapColorFrameToDepthSpace (
Array<UInt16>[] depthFrameData,
out Array<DepthSpacePoint>[] depthSpacePoints
)发布于 2016-02-26 21:47:34
您必须使用kinect传感器的CoordinateMapper。您的映射与MapColorFrameToDepthFrame或空格相关。此功能在kinect v2 sdk上可用。
在这一步之后,你将有3个信息(Xview,Yview,Zworld) Yworld和Xworld你可以找到这些公式
Yworld = Zworld * Yview / focal_length
Xworld = Zworld * Xview / focal_length现在你知道任何图像点的世界坐标
你可以很容易地测量两点之间的距离。
Distance_of_p1_p2(mm) = Sqrt ( Square(p2.Xworld - p1.Xworld) + Square(p2.Yworld - p1.Yworld) + Square(p2.Zworld - p1.Zworld)) https://stackoverflow.com/questions/28005890
复制相似问题