KinectAutoCalibration icon indicating copy to clipboard operation
KinectAutoCalibration copied to clipboard

openCV based stereo calibration of the Kinect cameras without manually marking points

This is an application to calibrate the Kinect cameras.

Input are pairs of RGB and IR images of a chessboard. The nice thing about this implementation is the lack of manually clicking on corners. Since the raw IR-image is used, the chessboardcorners can be detected automatically.

See manual at http://www.informatik.uni-freiburg.de/~engelhar/calibration.html

The images are expecting in the folder structure ($prefix)/view????/color.png and ($prefix)/view????/intensity.png

$prefix has to be set in main.cpp

This structure is generated from Nicolas Burrus' Application at: http://nicolas.burrus.name/index.php/Research/KinectRgbDemoV2

Just install his application and grab some images. Set $prefix on the bin-folder and $image_cnt to the number of pairs. (e.g. max Number +1)

If the chessboard corners can't be found on one image (happens with p=0.05 for ir images), the pair is ignored and some warning is printed.

This calibration uses some functions from openCV, which is the only library needed.

The code should be self explaining :)

All parameters are written in .xml files, more info on the used functions and the output format can be found at http://opencv.willowgarage.com/documentation/index.html

License: Modify, distribute and use as you want, only drop a line if you find it useful and make clear that the first implementation was mine :)