Camera Configuration
The capture system is configured through a camera config file in JSON format. These files can be configured by modifying the examples given, but they are generated by the HoloCalibration or can be adjusted using the CapturerViewer.
Examples
IMPORTANT they don't work as-is
-
camera_typeshould be changed to the actual camera to use -
The serials given in the
calibrationandconfigfields are just placeholders. -
Fields preceded with an underscore (e.g.
_color_exposure) are ignored if the underscore is kept.- It's mostly used for camera hardware settings to not set them if not expressly stated
-
Fields precessed with two underscores
__are used to add comments to the JSON file -
cameraconfig.json: contains all the parameters that can be set. In theconfigobject they are divided by camera type. -
cameraconfig-prerecorded.json: example for prerecorded from camera (RGBD)
See this table for more information on each parameter and specifics for each camera type.
See the specific values the different parameters can take in their own page. But find below a basic explanation of the file:
Keys on the camera_config file:
-
version:4, version of the camera config format -
camera_type: cameras to use[kinect | orbbec | recorder] -
general_config:log_level: minimum log level to output, default isinfolog-to_console: add console output. In HoloMIT, this will be written to the Unity log filenew_frame_timeout: how long the merger should wait for a new frame from the cameras before assuming there's been something that has stopped production of new frames and shuts itself down.
-
config: contains all the fields that configure the input and processing. It can contain a different set of processing and device parameters for each camera, differentiated by the serial number of the cameras. Common parameters should be given withgeneralas serial number.camera_config: general parameters to configure the camera. Only the one in thegeneralwill be used.fps: fps of the cameracolor_height: color resolutiondepth_height: depth resolutionalignment:auto(default, depth to color),color2depth,depth2color.noneis also available but only for recording datasets and keeps the native resolution of both color and depth.
device: map of configuration parameters for the input cameras or dataset -> See the example cameraconfig for possible fields according to the camera typeprocessing: parameters to configure processing operations. See Processing Parameters
-
recorder_config:record_frames: path to save framesprocess_data: flag to force data processing even if not needed for recorded outputs.save_[color | depth | pm | depth_encoded | pm_encoded | normals]: set to true to save frames of that category. To use as input afterward, saving color and depth is enough.
-
output_config: configuration of the outputrepresentation_type: encode position map or depth (overwritten by the value given from HoloMIT)normals: compute and output normals of the point cloudgeneral_purpose: compute general purpose for self representation (it will also affect Encoding in HoloCuda for Remote rendering).
-
calibration: See Calibration for details