none
Kinect fusion initial postion camera RRS feed

  • Question

  • Hello,

    I would know what is the initial position of the camera respect the cube in kinect Fusion. When I start the reconstruction  I rotate the camera but I can not to scan the 360 grades around me and only detect the front angle.

    Thanks in advance.

    David.

    Monday, April 15, 2013 11:35 AM

All replies

  • If you want to start the sensor in the center of the volume, you'll need to move the reconstruction volume appropriately. You can do this by modifying the matrix you pass for the Volume.ResetReconstruction() method to the worldToVolumeTransform parameter.

    After creating a volume, the default WorldToVolumeTransform, checked with volume.GetCurrentVolumeToWorldTransform(), has the reconstruction volume centered in X and Y around the sensor and on the front face (Z=0) of the volume.

    Try something like this:

    var worldToVolumeTransform = this.volume.GetCurrentWorldToVolumeTransform();
    
    worldToVolumeTransform.M43 = (float)(0.5 * VoxelResolutionZ);
    
    this.volume.ResetReconstruction(this.worldToCameraTransform, worldToVolumeTransform);

    That will translate the reconstruction volume in Z, by half of it's size (in voxels, not meters), towards the sensor. This would place the sensor in the center of the volume, and allow you to simply spin the camera around to scan a room. 


    Joshua Blake
    Kinect for Windows MVP
    OpenKinect Community Founder
    Technical Director, InfoStrat Advanced Technology Group
    Blog: http://nui.joshland.org
    Twitter: http://twitter.com/joshblake


    Saturday, June 1, 2013 7:10 AM