camera-intrinsic-calibration
A pure rust camera intrinsic calibration tool.
Installation
# cargo install cli
cargo install camera-intrinsic-calibration
# Or pip install cli
pip install camera-intrinsic-calibration
# Or pip install cli with rerun
pip install 'camera-intrinsic-calibration[rerun]'
Or download from the latest release.
CLI Usage
# camera-calibration-rs
ccrs -h
# run intrinsic calibration on TUM vi dataset
# Download and untar
wget https://vision.in.tum.de/tumvi/exported/euroc/1024_16/dataset-calib-cam1_1024_16.tar
tar xf dataset-calib-cam1_1024_16.tar
# [Optional] export RUST_LOG=trace
ccrs dataset-calib-cam1_1024_16 --model eucm
Visualize details after calibration
# use cargo to install rerun
cargo install rerun-cli --version 0.38.1
# or use pip to install rerun
pip install rerun-sdk==0.38.1
# visualize result
rerun results/20YYMMDD_HH_MM_SS/logging.rrd
Supported formats
Dataset format
- Euroc (default)
dataset_root └── mav0 ├── cam0 │ └── data │ ├── {time_stamp}.png │ ├── {time_stamp}.png │ └── {time_stamp}.png └── cam1 └── data ├── {time_stamp}.png ├── {time_stamp}.png └── {time_stamp}.png - General
--dataset-format general
Images can be eitherdataset_root ├── cam0 │ ├── any_file_name.png │ ├── any_file_name.png │ └── any_file_name.png └── cam1 ├── any_file_name.png ├── any_file_name.png └── any_file_name.png.pngor.jpg, but.pngis preferred if possible. PNG is lossless compression, while JPG is not.
Camera models
- Extended Unified (EUCM)
- Extended Unified with Tangential (EUCMT)
- Unified Camera Model (UCM)
- Kannala Brandt (KB4) aka OpenCV Fisheye
- OpenCV (OPENCV5) aka
plumb_bobin ROS - F-theta (FTHETA) by NVidia
Examples
cargo run -r --example convert_model
Calibrate your own camera
Please follow the tutorial.
Acknowledgements
Links:
- https://cvg.cit.tum.de/data/datasets/visual-inertial-dataset
- https://github.com/itt-ustutt/num-dual
- https://github.com/sarah-quinones/faer-rs
Papers:
- Kukelova, Zuzana, et al. "Radial distortion homography." Proceedings of the IEEE conference on computer vision and pattern recognition. 2015.
TODO
- Multi-camera extrinsic
- More calibration info
Metadata
Release files for camera-intrinsic-calibration 0.12.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| camera_intrinsic_calibration-0.12.0-py3-none-macosx_11_0_arm64.whl | Python 3 | none | macOS 11.0+ ARM64 | Details |
Release files / camera_intrinsic_calibration-0.12.0-py3-none-macosx_11_0_arm64.whl
| Download URL | camera_intrinsic_calibration-0.12.0-py3-none-macosx_11_0_arm64.whl |
|---|---|
| Size | 6.2 MB |
| Tags | Python 3 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
da75c5f8b80ddcca6646c3793182bfe5dbb6d4058ff124a6bd69c3bdd3e35a39
|
|
BLAKE2b-256 checksum How to use checksums |
2598a75935f9a6202313e3d4268286ae1d6024167b00a79b1dcf0769fe65a8b6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.2
|