simonfuhrmann / mve

Multi-View Environment
http://www.gcc.tu-darmstadt.de/home/proj/mve/
Other
977 stars 419 forks source link

Use my own depth map #540

Closed FrozenSilent closed 3 years ago

FrozenSilent commented 3 years ago

Hi, very nice work! I have tried MVE on my own captured RGB images and obtained a good result. However, I also have corresponding captured depth images with those RGB images. I am just wondering how to convert my depth images (stored in a json file with float numbers) to .mvei file? And can I just replace the .mvei file in the , and continue the following step, i.e. scene2pset fssrecon and meshclean?

simonfuhrmann commented 3 years ago

Hi there! Yes, you can just add a new .mvei image to the view directories and it should be picked up accordingly.

The format of this file is quite simple: https://github.com/simonfuhrmann/mve/wiki/MVE-File-Format#the-mvei-image-format

You can use MVE libraries directly to write these images: https://github.com/simonfuhrmann/mve/blob/master/libs/mve/image_io.h#L273-L279

When you write your own depth map, make sure you get the depth convention right. There are two "meanings" of depth, i.e., the distance along the z-axis, and the Euclidean distance from the camera center. MVE uses the latter if I'm not mistaken. There are libraries to convert between the two: https://github.com/simonfuhrmann/mve/blob/master/libs/mve/depthmap.h#L54-L64

FrozenSilent commented 3 years ago

Thanks for the quick response! The function of writing mvei images helps a lot and I can replace the estimated depth maps with my own depth maps now. By the way, I find that the resolutions of the images and depth map are downsampled from 1920x1440 to 480x360. Am I correct?

Though I have replaced the depth maps, I find that those camera parameters also should be updated to my version. Those outputs from SFM are stored in meta.ini, so I need to modify those numbers?

simonfuhrmann commented 3 years ago

All values in meta.ini should be independent of resolution, so there should be no need to update. Also, downsampling usually doesn't happen... There is an option to downsample images when you import them with makescene, and dmrecon does some downsampling by default to avoid massively long computation times. But other than that, I'm not sure what you're referring to. Can you clarify?

FrozenSilent commented 3 years ago

Sorry for the late reply. Yes, meta.ini is independent of resolution. What I want to do is running scene2pst with my own RGB-D data and further using fssrecon to obtain the reconstructed textured mesh. So I suppose that the camera parameters are stored in meta.ini which I should also change according to my own captured data.

simonfuhrmann commented 3 years ago

Correct. I also recommend using UMVE to visualize your data (it can also triangulate depth maps), to make sure your data is imported properly.

FrozenSilent commented 3 years ago

Thanks for your patient answers and kindful suggestions! I will have a try.