Skip to main content

Camera Intrinsic Calibration

Project description

camera-intrinsic-calibration

crate PyPI - Version PyPI - Python Version

A pure rust camera intrinsic calibration library.

Installation

# cargo install cli
cargo install camera-intrinsic-calibration
# Or pip install cli
pip install camera-intrinsic-calibration

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.17.0
# or use pip to install rerun
pip install rerun-sdk==0.17.0
# visualize result
rerun results/20YYMMDD_HH_MM_SS/logging.rrd
example detection

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
    dataset_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
    
    Images can be either .png or .jpg, but .png is 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_bob in ROS
  • F-theta (FTHETA) by NVidia

Examples

cargo run -r --example convert_model

Acknowledgements

Links:

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

camera_intrinsic_calibration-0.6.0-py3-none-win_amd64.whl (11.7 MB view details)

Uploaded Python 3Windows x86-64

camera_intrinsic_calibration-0.6.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.7 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ x86-64

camera_intrinsic_calibration-0.6.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (5.3 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARM64

camera_intrinsic_calibration-0.6.0-py3-none-macosx_11_0_arm64.whl (5.7 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

File details

Details for the file camera_intrinsic_calibration-0.6.0-py3-none-win_amd64.whl.

File metadata

File hashes

Hashes for camera_intrinsic_calibration-0.6.0-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 ee7d2e735a891adc4654596e9237f063fd8374134bb4907c8dd1cbd3466db7c4
MD5 673ba5e5236ebccd5c4847d80cbb4feb
BLAKE2b-256 98085bdfcc0017f98d29c80863bf5f4657f5f9a71e6340ee1dfc376346df6b56

See more details on using hashes here.

File details

Details for the file camera_intrinsic_calibration-0.6.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for camera_intrinsic_calibration-0.6.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 2351e89bfef0dda805c62067578263b26c02cc5f90ea625125512b9d625c04a9
MD5 86b73537c8dc94db13077b9d448a2a77
BLAKE2b-256 2d6f1b9417826963dc76eaacddea9d9bc8dd84b4e0cf7810d550bf70201eab06

See more details on using hashes here.

File details

Details for the file camera_intrinsic_calibration-0.6.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for camera_intrinsic_calibration-0.6.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 f54fe6c0e4571517e93c342ef9a1d18d425609e8f07f6c8232709d2b86429d4f
MD5 ba8c067ed15bb837bb45edbe589bf2f2
BLAKE2b-256 4e7844d549d0476d6efe3048581661ef67b2d1bdeeff03d3e00df09f0207115a

See more details on using hashes here.

File details

Details for the file camera_intrinsic_calibration-0.6.0-py3-none-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for camera_intrinsic_calibration-0.6.0-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1852473383657e597ba71254dfdfab510fc3d5fd2559454bf8de4759f1f3aa22
MD5 16f33cc387085c78a1e5fc7cd4b508bc
BLAKE2b-256 bee21d1c9110337dad4d5c4f02049430718f987816c51b05d5bb1a065ce9ebbc

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page