none
Kinect Fusion: How to initialize a reconstruction volume that the camera is located at the center of the volume? RRS feed

  • Question

  • I am learning from the code of KinectFusionExplorer-D2D

    and i am trying to make the camera be located at the center of the reconstruction volume 

    by changing the code of void KinectFusionProcessor::InternalResetReconstruction() like this

     if (m_paramsCurrent.m_bTranslateResetPoseByMinDepthThreshold)
    {
            Matrix4 worldToVolumeTransform = m_defaultWorldToVolumeTransform;
    
            // Translate the volume in the Z axis by the minDepthThreshold distance
            //float minDist = (m_paramsCurrent.m_fMinDepthThreshold < m_paramsCurrent.m_fMaxDepthThreshold) ? m_paramsCurrent.m_fMinDepthThreshold : m_paramsCurrent.m_fMaxDepthThreshold;
            //worldToVolumeTransform.M43 -= (minDist * m_paramsCurrent.m_reconstructionParams.voxelsPerMeter);
    
           //translate the volume backwards in the Z axis by the volume size
            worldToVolumeTransform.M43 += m_paramsCurrent.m_reconstructionParams.voxelCountZ / 2;
    
            hr = m_pVolume->ResetReconstruction(&m_worldToCameraTransform, &worldToVolumeTransform);
        }

    and then the reconstruction volume is chopped by the x-y surface of world space.

    does it mean that reconstruction can not be operated when z < 0 ?

    Monday, October 20, 2014 6:23 AM