mirror of
https://github.com/alicevision/Meshroom.git
synced 2025-04-29 18:27:23 +02:00
129 lines
4.1 KiB
Python
129 lines
4.1 KiB
Python
__version__ = "1.0"
|
|
|
|
from meshroom.core import desc
|
|
from meshroom.core.utils import VERBOSE_LEVEL
|
|
|
|
|
|
class CameraCalibration(desc.AVCommandLineNode):
|
|
commandLine = 'aliceVision_cameraCalibration {allParams}'
|
|
|
|
category = 'Utils'
|
|
documentation = '''
|
|
'''
|
|
|
|
inputs = [
|
|
desc.File(
|
|
name="input",
|
|
label="Input",
|
|
description="Input images in one of the following form:\n"
|
|
" - folder containing images.\n"
|
|
" - image sequence like \"/path/to/seq.@.jpg\".\n"
|
|
" - video file.",
|
|
value="",
|
|
),
|
|
desc.ChoiceParam(
|
|
name="pattern",
|
|
label="Pattern",
|
|
description="Type of pattern (CHESSBOARD, CIRCLES, ASYMMETRIC_CIRCLES, ASYMMETRIC_CCTAG).",
|
|
value="CHESSBOARD",
|
|
values=["CHESSBOARD", "CIRCLES", "ASYMMETRIC_CIRCLES", "ASYMMETRIC_CCTAG"],
|
|
),
|
|
desc.GroupAttribute(
|
|
name="size",
|
|
label="Size",
|
|
description="Number of inner corners per one of board dimension like W H.",
|
|
groupDesc=[
|
|
desc.IntParam(
|
|
name="width",
|
|
label="Width",
|
|
description="",
|
|
value=7,
|
|
range=(0, 10000, 1),
|
|
),
|
|
desc.IntParam(
|
|
name="height",
|
|
label="Height",
|
|
description="",
|
|
value=5,
|
|
range=(0, 10000, 1),
|
|
),
|
|
],
|
|
),
|
|
desc.FloatParam(
|
|
name="squareSize",
|
|
label="Square Size",
|
|
description="Size of the grid's square cells (mm).",
|
|
value=1.0,
|
|
range=(0.0, 100.0, 1.0),
|
|
),
|
|
desc.IntParam(
|
|
name="nbDistortionCoef",
|
|
label="Nb Distortion Coef",
|
|
description="Number of distortion coefficients.",
|
|
value=3,
|
|
range=(0, 5, 1),
|
|
),
|
|
desc.IntParam(
|
|
name="maxFrames",
|
|
label="Max Frames",
|
|
description="Maximum number of frames to extract from the video file.",
|
|
value=0,
|
|
range=(0, 5, 1),
|
|
),
|
|
desc.IntParam(
|
|
name="maxCalibFrames",
|
|
label="Max Calib Frames",
|
|
description="Maximum number of frames to use to calibrate from the selected frames.",
|
|
value=100,
|
|
range=(0, 1000, 1),
|
|
),
|
|
desc.IntParam(
|
|
name="calibGridSize",
|
|
label="Calib Grid Size",
|
|
description="Define the number of cells per edge.",
|
|
value=10,
|
|
range=(0, 50, 1),
|
|
),
|
|
desc.IntParam(
|
|
name="minInputFrames",
|
|
label="Min Input Frames",
|
|
description="Minimum number of frames to limit the refinement loop.",
|
|
value=10,
|
|
range=(0, 100, 1),
|
|
),
|
|
desc.FloatParam(
|
|
name="maxTotalAvgErr",
|
|
label="Max Total Avg Err",
|
|
description="Maximum total average error.",
|
|
value=0.10000000000000001,
|
|
range=(0.0, 1.0, 0.01),
|
|
),
|
|
desc.File(
|
|
name="debugRejectedImgFolder",
|
|
label="Debug Rejected Img Folder",
|
|
description="Folder to export images that were deleted during the refinement loop.",
|
|
value="",
|
|
),
|
|
desc.File(
|
|
name="debugSelectedImgFolder",
|
|
label="Debug Selected Img Folder",
|
|
description="Folder to export debug images.",
|
|
value="",
|
|
),
|
|
desc.ChoiceParam(
|
|
name="verboseLevel",
|
|
label="Verbose Level",
|
|
description="Verbosity level (fatal, error, warning, info, debug, trace).",
|
|
values=VERBOSE_LEVEL,
|
|
value="info",
|
|
),
|
|
]
|
|
|
|
outputs = [
|
|
desc.File(
|
|
name="output",
|
|
label="Output",
|
|
description="Output filename for intrinsic [and extrinsic] parameters.",
|
|
value=desc.Node.internalFolder + "/cameraCalibration.cal",
|
|
),
|
|
]
|