From 253d76314aa6c8b3d6697e7ca7ae461ad7fd07e1 Mon Sep 17 00:00:00 2001 From: Piero Toffanin Date: Mon, 2 Nov 2020 11:13:23 -0500 Subject: [PATCH] Catch errors in cropping, handle image masks --- SuperBuild/cmake/External-OpenMVS.cmake | 1 - stages/dataset.py | 2 +- stages/odm_georeferencing.py | 10 +++++++--- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/SuperBuild/cmake/External-OpenMVS.cmake b/SuperBuild/cmake/External-OpenMVS.cmake index 29ad60f9..ab5455f9 100644 --- a/SuperBuild/cmake/External-OpenMVS.cmake +++ b/SuperBuild/cmake/External-OpenMVS.cmake @@ -26,7 +26,6 @@ ExternalProject_Add(${_proj_name} #--Configure step------------- SOURCE_DIR ${SB_SOURCE_DIR}/${_proj_name} CMAKE_ARGS - -DCERES_ROOT_DIR=${SB_INSTALL_DIR} -DOpenCV_DIR=${SB_INSTALL_DIR}/lib/cmake/opencv4 -DVCG_ROOT=${SB_SOURCE_DIR}/vcg -DCMAKE_BUILD_TYPE=Release diff --git a/stages/dataset.py b/stages/dataset.py index 583d99dd..c1376e0b 100644 --- a/stages/dataset.py +++ b/stages/dataset.py @@ -141,7 +141,7 @@ class ODMLoadDatasetStage(types.ODM_Stage): has_mask = True break - if has_mask and not args.use_opensfm_dense: + if has_mask and not args.use_opensfm_dense and not args.fast_orthophoto: log.ODM_WARNING("Image masks found, will use OpenSfM for dense reconstruction") args.use_opensfm_dense = True diff --git a/stages/odm_georeferencing.py b/stages/odm_georeferencing.py index bfff1e34..05bacb37 100644 --- a/stages/odm_georeferencing.py +++ b/stages/odm_georeferencing.py @@ -131,9 +131,13 @@ class ODMGeoreferencingStage(types.ODM_Stage): if not args.fast_orthophoto: decimation_step *= int(len(reconstruction.photos) / 1000) + 1 - cropper.create_bounds_gpkg(tree.odm_georeferencing_model_laz, args.crop, - decimation_step=decimation_step) - + try: + cropper.create_bounds_gpkg(tree.odm_georeferencing_model_laz, args.crop, + decimation_step=decimation_step) + except: + log.ODM_WARNING("Cannot calculate crop bounds! We will skip cropping") + args.crop = 0 + # Do not execute a second time, since # We might be doing georeferencing for # multiple models (3D, 2.5D, ...)