MRCAL(1)

NAME
mrcal-from-kalibr - Converts a kalibr-formatted camera model to the .cameramodel file format

SYNOPSIS
  $ mrcal-from-kalibr model.yaml
  Wrote model-cam0.cameramodel
  Wrote model-cam1.cameramodel

DESCRIPTION
File formats supported by mrcal are described at <http://mrcal.secretsauce.net/cameramodels.html#cameramodel-file-formats>

This tool converts the given model(s) to the mrcal-native .cameramodel file format. No changes to the content are made; this is purely a format converter (the mrcal-convert-lensmodel tool fits different lens models instead). Model filenames are given on the commandline. Output is written to the same directory, with the same filename, but annotated with the camera name from the data file, and with a .cameramodel extension.

If the model is omitted or given as "-", the input is read from standard input, and the output is written to standard output

Unlike mrcal .cameramodel files where one camera is described by one file, the .yaml files used by kalibr are intended to describe multiple cameras. This format conversion tool will write out multiple .cameramodel file to represent the given data. To select a single camera, pass --camera CAMERA.

By default we set the extrinsics of camera-0 as they appear in the input: the "previous" camera from camera-0 is used as the reference coordinate system. If we want to force camera-0 to have an identity transform, pass --cam0-at-reference. Usually this will be the case anyway in the input data, but this option makes sure.

The kalibr format is described at <https://github.com/ethz-asl/kalibr/wiki/Yaml-formats>

At this time we only support

  - LENSMODEL_PINHOLE
  - LENSMODEL_OPENCV4
  - LENSMODEL_CAHVOR  (experimental)
  - LENSMODEL_CAHVORE (experimental)

which corresponds to

  camera_model == 'pinhole' and distortion_model in ('radtan','none')

OPTIONS

  POSITIONAL ARGUMENTS
  model                Input camera model; '-' to read standard input

  OPTIONAL ARGUMENTS
  -h, --help           show this help message and exit
  --cam0-at-reference  By default we set the extrinsics of camera-0 as they
                       appear in the input. If we want to force camera-0 to
                       have an identity transform, pass --cam0-at-reference.
                       Usually this will be the case anyway in the input data,
                       but this option makes sure
  --camera CAMERA      Kalibr model files may contain multiple cameras,
                       selected by this argument. If omitted, all available
                       cameras will be read. If given, we read JUST the one
                       requested camera
  --force, -f          By default existing files are not overwritten. Pass
                       --force to overwrite them without complaint
  --outdir OUTDIR      Directory to write the output models into. If omitted,
                       we write the output models to the same directory as the
                       input models

REPOSITORY
<https://www.github.com/dkogan/mrcal>

AUTHOR
Dima Kogan, "<dima@secretsauce.net>"

LICENSE AND COPYRIGHT
Copyright (c) 2017-2023 California Institute of Technology ("Caltech"). U.S. Government sponsorship acknowledged. All rights reserved.

Licensed under the Apache License, Version 2.0 (the "License"); You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0