Nerei / kinfu_remake

Optimized and reworked version of Kinfu
BSD 3-Clause "New" or "Revised" License
339 stars 125 forks source link

Storing the final mesh #4

Closed dimtzionas closed 9 years ago

dimtzionas commented 9 years ago

Hi all,

This is not really an issue, rather a question I have. The source-code works really nice, thanks for open-sourcing this. However there is the need to store the final mesh that is created during the reconstruction. There is a rather tedious way to do this (some people extract the pointcloud out of the tsdf with fetchCloud, and then use meshlab to filter and mesh these points), but I was wondering if you have any advice on a better way to do this.

Thanks!

Nerei commented 9 years ago

you can try back porting marching cubes algorithm from pcl.

dimtzionas commented 9 years ago

Thanks for the tip!

Do you think that following pcl would be more effective, or also other options like https://github.com/sdmiller/cpu_tsdf could be of use? This project is independent from pcl (thus also lightweight) and comes with a built-in marching cubes method in order exactly to get a mesh out of the tsdf.

Nerei commented 9 years ago

I just proposed one of possible directions. Backport to the kinfu_rmake == coding. I am not familiar with the library. Perhaps you may try to download tsdf from gpu and convert to the cpu_tsdf format. I don't know which way is better for you.

dimtzionas commented 9 years ago

Cool, thanks for the advice. I'm closing this issue down, and when I come up with a solution I'll post an update/advice for future use by others.

Isabelp commented 8 years ago

Hi Nerel,

You suggested to use marching cubes algorithm from pcl to store the final mesh. I am trying to use the method marchingCubes.run() from kinfu in pcl, but I am having troubles to figure out which variable from kinfu_remake should I send as first parameter to marchingCubes.run(). They receive a "const TsdfVolume& tsdf", therefore I tried to send kinfu.tsdf(), but since the types dont match, it is not possible to do it. Could you please give me a hint about it?

Thanks,