我正在尝试在处理上创建一个具有多个 kinect 的 PointCloud 映射用户。我在对面使用 2 个 kinect 获取用户的正面和背面,并生成两个点云。
问题是 PointClouds X/Y/Z 没有同步,它只是把它们两个放在屏幕上,看起来肯定很乱。有一种方法可以计算或比较它们,将第二个 PointCloud 转换为“加入”第一个?我可以手动转换位置,但如果我移动传感器,它会再次关闭。
我正在尝试在处理上创建一个具有多个 kinect 的 PointCloud 映射用户。我在对面使用 2 个 kinect 获取用户的正面和背面,并生成两个点云。
问题是 PointClouds X/Y/Z 没有同步,它只是把它们两个放在屏幕上,看起来肯定很乱。有一种方法可以计算或比较它们,将第二个 PointCloud 转换为“加入”第一个?我可以手动转换位置,但如果我移动传感器,它会再次关闭。
假设所有 Kinect 都是静止的,我想你必须按以下顺序进行:
我(还)不知道如何获取Procrustes 转换的转换参数,但假设它们不会改变,您可能必须设置多个参考点,可能通过显示来自每对 Kinects 的点云并在两个点云中注册您知道的点是相同的。在获得足够的它们之后,构造一个 PMatrix3D 并将其应用到 push/popMatrix 中。这是这个人使用的方法:http ://www.youtube.com/watch?v=ujUNj1RDL4I
另一种方法是使用迭代最近点算法并从其输出构造 3D 变换。如果有人知道一个好的,我真的很想要一个用于处理的 ICP 或 PCL 库。