kopia lustrzana https://github.com/OpenDroneMap/ODM
commit
a542e7b78d
|
@ -13,7 +13,7 @@ from opendm import system
|
|||
from opendm import context
|
||||
from opendm import camera
|
||||
from opendm import location
|
||||
from opendm.photo import find_largest_photo_dim, find_largest_photo
|
||||
from opendm.photo import find_largest_photo_dims, find_largest_photo
|
||||
from opensfm.large import metadataset
|
||||
from opensfm.large import tools
|
||||
from opensfm.actions import undistort
|
||||
|
@ -211,11 +211,25 @@ class OSFMContext:
|
|||
'lowest': 0.0675,
|
||||
}
|
||||
|
||||
max_dim = find_largest_photo_dim(photos)
|
||||
max_dims = find_largest_photo_dims(photos)
|
||||
|
||||
if max_dim > 0:
|
||||
if max_dims is not None:
|
||||
w, h = max_dims
|
||||
max_dim = max(w, h)
|
||||
log.ODM_INFO("Maximum photo dimensions: %spx" % str(max_dim))
|
||||
feature_process_size = int(max_dim * feature_quality_scale[args.feature_quality])
|
||||
|
||||
lower_limit = 320
|
||||
upper_limit = 4480
|
||||
megapixels = (w * h) / 1e6
|
||||
multiplier = 1
|
||||
|
||||
if megapixels < 2:
|
||||
multiplier = 2
|
||||
elif megapixels > 42:
|
||||
multiplier = 0.5
|
||||
|
||||
factor = min(1, feature_quality_scale[args.feature_quality] * multiplier)
|
||||
feature_process_size = min(upper_limit, max(lower_limit, int(max_dim * factor)))
|
||||
log.ODM_INFO("Photo dimensions for feature extraction: %ipx" % feature_process_size)
|
||||
else:
|
||||
log.ODM_WARNING("Cannot compute max image dimensions, going with defaults")
|
||||
|
@ -283,9 +297,8 @@ class OSFMContext:
|
|||
config.append("matcher_type: %s" % osfm_matchers[matcher_type])
|
||||
|
||||
# GPU acceleration?
|
||||
if has_gpu(args):
|
||||
max_photo = find_largest_photo(photos)
|
||||
w, h = max_photo.width, max_photo.height
|
||||
if has_gpu(args) and max_dims is not None:
|
||||
w, h = max_dims
|
||||
if w > h:
|
||||
h = int((h / w) * feature_process_size)
|
||||
w = int(feature_process_size)
|
||||
|
|
Ładowanie…
Reference in New Issue