GitPedia

K4a calibration

Azure Kinect multi-camera extrinsic calibration

From stytim·Updated May 8, 2026·View on GitHub·

This calibration tool only requires 1 frame of recording mkv files from each Azure Kinect camera. It first uses color frame for [AprilTag](https://github.com/AprilRobotics/apriltag) marker or ChArUco board detection and initial camera pose estimation. Then depth image from each camera is transformed to color camera to generate colored point cloud, which is used for [Colored ICP algorithm](https://openaccess.thecvf.com/content_ICCV_2017/papers/Park_Colored_Point_Cloud_ICCV_2017_paper.pdf). The project is written primarily in C++, distributed under the BSD 3-Clause "New" or "Revised" License license, first published in 2021. Key topics include: azure-kinect, calibration, extrinsic-calibration, icp, point-cloud-registration.

Extrinsic Calibration for Multiple Azure Kinect Cameras

This calibration tool only requires 1 frame of recording mkv files from each Azure Kinect camera. It first uses color frame for AprilTag marker or ChArUco board detection and initial camera pose estimation. Then depth image from each camera is transformed to color camera to generate colored point cloud, which is used for Colored ICP algorithm.

Calibration

The final result is saved as JSON file to be used in other software and PLY file for verifying calibration conveniently in any point cloud viewing software such as MeshLab.

Prerequisites

  • Azure Kinect SDK
  • OpenCV
  • AprilTag
  • Open3D

Building

Tested on Ubuntu 18.04 and 20.04

mkdir build && cd build
cmake ..
make

Running

./calib_k4a <master.mkv> <sub1.mkv>...

Important Note

The final extrinsic is transformed into depth camera coordinate system and also into OpenGL convention.

Todo

  • Test with Teaser++ for initial pose estimation
<picture> <source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/svg?repos=stytim/k4a-calibration&type=Date&theme=dark" /> <source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/svg?repos=stytim/k4a-calibration&type=Date" /> <img alt="Star History Chart" src="https://api.star-history.com/svg?repos=stytim/k4a-calibration&type=Date" /> </picture>

Contributors

Showing top 1 contributor by commit count.

View all contributors on GitHub →

This article is auto-generated from stytim/k4a-calibration via the GitHub API.Last fetched: 6/14/2026