我正在从网络接收多个深度帧,并使用修改后的Kinect Fusion C ++示例集成到重建中:
// smoothing
col_reconst->SmoothDepthFloatFrame(m_pDepthFloatImage, m_pDepthFloatImage, 3, m_fMaxDepthThreshold);
col_reconst->SmoothDepthFloatFrame(m_pDepthFloatImage2, m_pDepthFloatImage2, 3, m_fMaxDepthThreshold);
col_reconst->SmoothDepthFloatFrame(m_pDepthFloatImage3, m_pDepthFloatImage3, 3, m_fMaxDepthThreshold);
hr = m_pVolume->IntegrateFrame(m_pDepthFloatImage, m_cMaxIntegrationWeight, &m_worldToCameraTransform);
hr2 = m_pVolume->IntegrateFrame(m_pDepthFloatImage2, m_cMaxIntegrationWeight, &m_worldToCameraTransform2);
hr3 = m_pVolume->IntegrateFrame(m_pDepthFloatImage3, m_cMaxIntegrationWeight, &m_worldToCameraTransform4);
我手动为每个矩阵设置矩阵m_worldToCameraTransform
,使用滚动条表示旋转角度和距离。
问题包括以下内容:
请注意,第一个和第二个屏幕截图表明Kinect似乎没有考虑视角(透视)。
这种效果可以在非常精确的定位后降低,但我能达到的最佳效果仍然很差:
我在考虑导出网格并使用一些网格平滑,但我可能只是在做错API?我可以制作不同的部分而不会互相影响,例如当存在轻微的不一致时吗?
谢谢!