What problem does it solve?
This Skill provides a unified framework for handling camera intrinsics, extrinsics, and coordinate transforms, enabling accurate projection of 3D points to 2D image coordinates across multiple cameras while consistently handling units (millimeters and meters).
Core Features & Use Cases
- Core library for low-level camera operations in millimeters and a meter-safe adapter for high-level workflows.
- Uniform camera_params dict to manage fx, fy, cx, cy, distortion, rotation, and translation for all cameras.
- Supports OpenCV-style extrinsic conventions, rigorous unit handling, and common workflows such as projecting 3D joints to images, triangulation from multi-view keypoints, and distortion-aware projection.
- Real-world scenario: calibrate a multi-camera rig, project 3D skeleton points to multiple views, and triangulate 3D positions from 2D observations.
Quick Start
Prepare a camera_params dictionary with mtx, rvec, tvec, and dist, then use the core functions (e.g., get_intrinsic, get_extrinsic, project_distortion) to project 3D points to 2D pixels. Use the meter-safe camera_adapter for seamless world-to-camera or camera-to-world transforms.