Filter p points in openmvs

pull/1172/head
Piero Toffanin 2020-11-03 17:07:20 +00:00
rodzic f110f061c4
commit 1ddc492c8c
2 zmienionych plików z 24 dodań i 6 usunięć

Wyświetl plik

@ -74,7 +74,7 @@ class ODM_Reconstruction(object):
if gcp.exists():
if gcp.entries_count() == 0:
raise RuntimeError("This GCP file does not have any entries. Are the entries entered in the proper format?")
# Create coords file, we'll be using this later
# during georeferencing
with open(output_coords_file, 'w') as f:
@ -244,7 +244,7 @@ class ODM_Tree(object):
self.opensfm_transformation = os.path.join(self.opensfm, 'geocoords_transformation.txt')
# OpenMVS
self.openmvs_model = os.path.join(self.openmvs, 'scene_dense.ply')
self.openmvs_model = os.path.join(self.openmvs, 'scene_dense_dense_filtered.ply')
# filter points
self.filtered_point_cloud = os.path.join(self.odm_filterpoints, "point_cloud.ply")

Wyświetl plik

@ -60,12 +60,30 @@ class ODMOpenMVSStage(types.ODM_Stage):
os.path.join(tree.openmvs, 'scene.mvs'),
' '.join(config)))
self.update_progress(90)
self.update_progress(85)
# Filter points
scene_dense = os.path.join(tree.openmvs, 'scene_dense.mvs')
if os.path.exists(scene_dense):
config = [
"--filter-point-cloud -1",
'-i "%s"' % scene_dense,
"-v 0"
]
system.run('%s %s' % (context.omvs_densify_path, ' '.join(config)))
else:
log.ODM_WARNING("Cannot find scene_dense.mvs, dense reconstruction probably failed. Exiting...")
exit(1)
self.update_progress(95)
if args.optimize_disk_space:
dense_scene = os.path.join(tree.openmvs, 'scene_dense.mvs')
if os.path.exists(dense_scene):
os.remove(dense_scene)
files = [scene_dense,
os.path.join(tree.openmvs, 'scene_dense.ply'),
os.path.join(tree.openmvs, 'scene_dense_dense_filtered.mvs')]
for f in files:
if os.path.exists(f):
os.remove(f)
shutil.rmtree(depthmaps_dir)
else:
log.ODM_WARNING('Found a valid OpenMVS reconstruction file in: %s' %