Skip to main content

Camera Intrinsic Calibration

Project description

camera-intrinsic-calibration

crate crate downloads

PyPI - Version PyPI - Python Version

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 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.22.1
# or use pip to install rerun
pip install rerun-sdk==0.22.1
# 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

Calibrate your own camera

Please follow the tutorial.

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.7.1-py3-none-win_amd64.whl (4.3 MB view details)

Uploaded Python 3Windows x86-64

camera_intrinsic_calibration-0.7.1-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.8 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ x86-64

camera_intrinsic_calibration-0.7.1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (4.5 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARM64

camera_intrinsic_calibration-0.7.1-py3-none-macosx_11_0_arm64.whl (3.9 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

File details

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

File metadata

File hashes

Hashes for camera_intrinsic_calibration-0.7.1-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 067c8886271e4661c20c712771f16bdaa3773b856426dc505ba74eb5b1bdb0d9
MD5 083084999aa0044cf59c8b7cb7f56a7d
BLAKE2b-256 7a003592f1ccc45d9fd6fe10cfefd5acffff3a217faddd0d59bf36384b040b87

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for camera_intrinsic_calibration-0.7.1-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 905c75e7839022d712fea9be20e5137063045446e9388fa4d9a4e9f1f6822167
MD5 4b09a26b64b0982f7156e37503320dae
BLAKE2b-256 3d3fdc34db9b0ed8dff50e7b012527ba4c09a4e12d70f9a3f8072942d6d9a5dc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for camera_intrinsic_calibration-0.7.1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 f9feb7586ffad2227d309d94801f87a8d3f7afe1da2444ef46d0db0ee37eed4c
MD5 6633a961b6bbeeabd8aabd8b8938aec3
BLAKE2b-256 bc21d7a680501d9efbb2bc1e41a9b42e3f42a7ab42fbd231394092eb02137a86

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for camera_intrinsic_calibration-0.7.1-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1b2ac5ad5d83d11e79eedc96df5b8bc5b47ac67e0f6892264942aea01c9e5f7a
MD5 b2e69616eb2cc2c6836a1eb8c88d4683
BLAKE2b-256 84edf191df6b6fae95dd33f05423d9090647546e6f282ce1c8e705f543660fbb

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