diff --git a/bin/meshroom_photogrammetry b/bin/meshroom_photogrammetry index 1d27d3a3cf..dae5183b07 100755 --- a/bin/meshroom_photogrammetry +++ b/bin/meshroom_photogrammetry @@ -73,15 +73,16 @@ views, intrinsics = [], [] # Build image files list from inputImages arguments images = [f for f in args.inputImages if multiview.isImageFile(f)] -if os.path.isdir(args.input): - # args.input is a folder: extend images list with images in that folder - images += multiview.findImageFiles(args.input) -elif os.path.isfile(args.input) and os.path.splitext(args.input)[-1] in ('.json', '.sfm'): - # args.input is a sfmData file: setup pre-calibrated views and intrinsics - from meshroom.nodes.aliceVision.CameraInit import readSfMData - views, intrinsics = readSfMData(args.input) -else: - raise RuntimeError(args.input + ': format not supported') +if args.input: + if os.path.isdir(args.input): + # args.input is a folder: extend images list with images in that folder + images += multiview.findImageFiles(args.input) + elif os.path.isfile(args.input) and os.path.splitext(args.input)[-1] in ('.json', '.sfm'): + # args.input is a sfmData file: setup pre-calibrated views and intrinsics + from meshroom.nodes.aliceVision.CameraInit import readSfMData + views, intrinsics = readSfMData(args.input) + else: + raise RuntimeError(args.input + ': format not supported.') # initialize photogrammetry pipeline if args.pipeline: @@ -106,9 +107,10 @@ else: graph = multiview.photogrammetry(inputViewpoints=views, inputIntrinsics=intrinsics, output=args.output) cameraInit = getOnlyNodeOfType(graph, 'CameraInit') -views, intrinsics = cameraInit.nodeDesc.buildIntrinsics(cameraInit, images) -cameraInit.viewpoints.value = views -cameraInit.intrinsics.value = intrinsics +if images: + views, intrinsics = cameraInit.nodeDesc.buildIntrinsics(cameraInit, images) + cameraInit.viewpoints.value = views + cameraInit.intrinsics.value = intrinsics if args.overrides: import io