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