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 | Actions Reset |
|---|---|---|---|---|
| camera_intrinsic_calibration-0.12.0-py3-none-macosx_11_0_arm64.whl | Python 3 | none | macOS 11.0+ ARM64 | Details for camera_intrinsic_calibration-0.12.0-py3-none-macosx_11_0_arm64.whl |
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
|
Security for camera-intrinsic-calibration 0.12.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.