0

I am doing with the Kinect Fusion and after I got the TSDF volume (450x450x150), I applied the marching cube (isosurface in MATLAB) to display the 3D mesh. However, what I got is shown the the figure. It had long shadow behind the object. So could you tell me what is wrong with my implementation?

(https://i.stack.imgur.com/onaFX.png) Thank you very much.

1 Answers1

0

If you could provide you Matlab code, it would be great.

I would; however; like to point out that the shadow is because you only have a single depth frame, with values ranging from 0 (no depth data) to the actual data. When constructing the 3D mesh, the surface is created between adjoining points so along the edges of the object it goes from 0 to the actual depth data thereby creating the 'shadows'. There is no workaround for this. Only if you have a 360 degree data and are creating surfaces in 360degrees then you would get a complete figure. with a complete back and front.

Atif Anwer
  • 450
  • 5
  • 13
  • Yes, this is my code. I use the MC to illustrate the hemisphere. https://drive.google.com/open?id=0B5cZWwgT9hfWN2NBT3BKZDViaHc I use the isosurface, so I think this leads to the wrong illustration. Because the points, which are behind the object, will get the value of -1 (in my code it is -0.001, I convert from mm to m). Hence, my code can not produce the hemisphere, it extends the sphere as an ellipse. Even I combined many frame (real data from kinect), I still got the same shadow. – Nguyen Hoai Ngo Jan 21 '17 at 19:49