Hello, I'm a bit new at this and have tried to run SfM_SequentialPipeline.py and SfM_GlobalPipeline.py on a fresh install and both fail to create smf_data.bin and robust.bin. The following errors come up.
There is no defined intrinsic data in order to compute an essential matrix for the initial pair.
- Colorize Structure
The input SfM_Data file "/home/user/Pictures/MVGProject/reconstruction_sequential/sfm_data.bin" cannot be read.
- Structure from Known Poses (robust triangulation)
Compute Structure from the provided posesThe input SfM_Data file "/home/user/Pictures/MVGProject/reconstruction_sequential/sfm_data.bin" cannot be read.
The input SfM_Data file "/home/user/Pictures/MVGProject/reconstruction_sequential/robust.bin" cannot be read.
Is there a way I can find out what's causing this? I need the .bin files for use in openMVS.
The camera of the input images does not exist in the file "sensor_width_camera_database.txt". There are two ways to resolve the problem:
pIntrisics = subprocess.Popen( [os.path.join(OPENMVG_SFM_BIN, "openMVG_main_SfMInit_ImageListing"), "-i", input_dir, "-o", matches_dir, "-d", camera_file_params], "-f", "3500")
;Thanks for the quick reply!
Your explanation was very helpful. I ended up adding exif data to my files with exiftool as they did not have any model or focal length information.
I am using these as more of a test of concept than as an actual project, but in the future it'll likely be useful to add the camera sensor info to the "sensor_width_camera_database.txt" file as you mentioned in your comment above.
@whuaegeanse
I close the issue, since the solution was provided by the community.
There is no defined intrinsic data in order to compute an essential matrix for the initial pair
这个问题是因为图片的属性里没有带相机的参数,后来用官网下载的带相机参数的图片后,这个问题就好了。
https://github.com/openMVG/openMVG/issues/559#issuecomment-219625095
The camera of the input images does not exist in the file "sensor_width_camera_database.txt". There are two ways to resolve the problem:
- add option focal length like this :
pIntrisics = subprocess.Popen( [os.path.join(OPENMVG_SFM_BIN, "openMVG_main_SfMInit_ImageListing"), "-i", input_dir, "-o", matches_dir, "-d", camera_file_params], "-f", "3500")
;- add the camera info to the camera db file:sensor_width_camera_database.txt;
I think first there is a minor typo.
pIntrisics = subprocess.Popen( [os.path.join(OPENMVG_SFM_BIN, "openMVG_main_SfMInit_ImageListing"), "-i", input_dir, "-o", matches_dir, "-d", camera_file_params, "-f", "3500"])
this is right one.
Most helpful comment
The camera of the input images does not exist in the file "sensor_width_camera_database.txt". There are two ways to resolve the problem:
pIntrisics = subprocess.Popen( [os.path.join(OPENMVG_SFM_BIN, "openMVG_main_SfMInit_ImageListing"), "-i", input_dir, "-o", matches_dir, "-d", camera_file_params], "-f", "3500")
;