Skip to content

Commit 9612c37

Browse files
authored
Merge pull request #577 from alicevision/fix/meshroom_photogrammetry_inputs
Fix meshroom_photogrammetry inputs
2 parents f6f91d2 + 177d47f commit 9612c37

File tree

1 file changed

+14
-12
lines changed

1 file changed

+14
-12
lines changed

bin/meshroom_photogrammetry

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -73,15 +73,16 @@ views, intrinsics = [], []
7373
# Build image files list from inputImages arguments
7474
images = [f for f in args.inputImages if multiview.isImageFile(f)]
7575

76-
if os.path.isdir(args.input):
77-
# args.input is a folder: extend images list with images in that folder
78-
images += multiview.findImageFiles(args.input)
79-
elif os.path.isfile(args.input) and os.path.splitext(args.input)[-1] in ('.json', '.sfm'):
80-
# args.input is a sfmData file: setup pre-calibrated views and intrinsics
81-
from meshroom.nodes.aliceVision.CameraInit import readSfMData
82-
views, intrinsics = readSfMData(args.input)
83-
else:
84-
raise RuntimeError(args.input + ': format not supported')
76+
if args.input:
77+
if os.path.isdir(args.input):
78+
# args.input is a folder: extend images list with images in that folder
79+
images += multiview.findImageFiles(args.input)
80+
elif os.path.isfile(args.input) and os.path.splitext(args.input)[-1] in ('.json', '.sfm'):
81+
# args.input is a sfmData file: setup pre-calibrated views and intrinsics
82+
from meshroom.nodes.aliceVision.CameraInit import readSfMData
83+
views, intrinsics = readSfMData(args.input)
84+
else:
85+
raise RuntimeError(args.input + ': format not supported.')
8586

8687
# initialize photogrammetry pipeline
8788
if args.pipeline:
@@ -106,9 +107,10 @@ else:
106107
graph = multiview.photogrammetry(inputViewpoints=views, inputIntrinsics=intrinsics, output=args.output)
107108
cameraInit = getOnlyNodeOfType(graph, 'CameraInit')
108109

109-
views, intrinsics = cameraInit.nodeDesc.buildIntrinsics(cameraInit, images)
110-
cameraInit.viewpoints.value = views
111-
cameraInit.intrinsics.value = intrinsics
110+
if images:
111+
views, intrinsics = cameraInit.nodeDesc.buildIntrinsics(cameraInit, images)
112+
cameraInit.viewpoints.value = views
113+
cameraInit.intrinsics.value = intrinsics
112114

113115
if args.overrides:
114116
import io

0 commit comments

Comments
 (0)