NAME

mrcal-to-kalibr - Converts cameramodel(s) to the file format used by kalibr

SYNOPSIS

$ mrcal-to-kalibr model1.cameramodel model2.cameramodel > model.yaml

[model.yaml is now a kalibr model describing the two cameras]

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 .yaml format used by kalibr. No changes to the content are made; this is purely a format converter (the mrcal-convert-lensmodel tool fits different lens models instead).

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 a single kalibr .yaml model containing ALL the given models. The names of the models in the kalibr data will be "cam0", "cam1", ...

Since we always write out one kalibr model and since we don't know what it should be called, the output of this tool always goes to standard output.

If the model is omitted or given as "-", the input is read from standard input, and only the one input model is processed.

By default we set the extrinsics of camera-0 as they appear in the input: the reference coordinate system is set to the previous" camera from camera-0. If we want to force camera-0 to have an identity transform, pass --cam0-at-reference.

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

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

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