Close

Palette:kinectCalibration

Summary

THe kinectCalibrate component allows for calculating the intrinsics and extrinsics of a projector in relation to a Kinect device making it possible to project onto the scene captured by the kinect. The theory is the same as camSchnappr. Where camSchnappr has a 3D Object that mirrors a physical object, this component uses the point cloud as a real-world reference. Projecting a checkboard, the component detects the corners in the color image of the kinect and retireves the 3D positions of these checkerboard corners from the poincloud data. Both sets of data (2D positions of corners in projector image and 3D pos of corners in pointcloud) are the variables needed by openCV's calibrateCamera function to solve for the position of the camera - in this case the projector. The Kinect's position in this setup is assumed to be at the root.

For a step by step explanation, please refer to the video here:

See also Projection Mapping.

PythonIcon.pngPalette:kinectCalibration Ext


Parameters - Kinect Projector Calibration Page

Help Help - Opens this page.

Version Version - THe version of the component.

Kinect Version Kinectversion - - Choose between Kinect2 and Kinect Azure.

  • Kinect2 version2 -
  • Kinect Azure azure -

Sensor Sensor - In case of a Kinect Azure multiple devices can be connected to the same computer. Choose the device you want to calibrate here.

Open Open - Open the user interface.

Close Close - Close the user interface.


Parameters - Calibration Page

Output Monitor Monitor - Select the output index of the projector.

Monitor Resolution Monitorres - - The resolution of the projector. This is automatically retrieved.

  • Monitor Resolution Monitorresw - The horizontal resolution of the projector.
  • Monitor Resolution Monitorresh - The vertical resoltuion of the projector.

Gridscale Gridscale - The scale of the checkerboard being projected during calibration.

Grid Level Gridlevel - The level of the checkerboard being projected during calibration. Adjust this if the kinect camera has trouble detecting the corners.

Grid Resolution Gridres - - The resolution of the projected checkerboard. The resolution is determined by internal corners horizontaly and vertically. A checkboard with 9 horizontal and 6 vertical squares is considered to have a resolution of 8 by 5.

  • Grid Resolution Gridresw -
  • Grid Resolution Gridresh -

Open Checkerboard Openchecker - Opens the output of the checkerboard on the selected projector.

Close Checkerboard Closechecker - Closes the output of the checkerboard.

Reset Reset - Reset the calibration.

Get Point Pair Getpointpair - Collect a point pair from the camera.

Pointpairs Collected Pointpairs - Amount of succesfully collected point pairs.

Calibrate Calibrate - Calibrate the camera after colelcting sufficient number of point pairs.

Message Message - Any message returned from the calibration routine.

Open Pointcloud Openpointcloud - Open the pointcloud view on the projector. This is projecting the pointcloud back onto the physical environment. A good test if the system is well calibrated.

Close Pointcloud Closepointcloud - Close the pointcloud output.

Show Pointcloud Showpointcloud - Toggle if the pointcloud should be shown in the output.

Show Skeleton Showskeleton - Toggle if the skeleton of a single person should be shown in the Pointcloud output. When testing this will project the skeleton points back onto the person detected.


Parameters - OpenCV Page

CALIB_USE_INTRINSIC_GUESS Intrinsic -

CALIB_FIX_ASPECT_RATIO Fixaspect -

CALIB_ZERO_TANGENT_DIST Zerotangent -

CALIB_FIX_PRINCIPAL_POINT Fixprincipal -

CALIB_FIX_FOCAL_LENGTH Fixfocal -

CALIB_FIX_K1 Fixk1 -

CALIB_FIX_K2 Fixk2 -

CALIB_FIX_K3 Fixk3 -

CALIB_FIX_K4 Fixk4 -

CALIB_FIX_K5 Fixk5 -

CALIB_FIX_K6 Fixk6 -


Operator Inputs

  • Input 0: in_Color - Color camera input.
  • Input 1: in_PointCloud - Pointcloud camera input.
  • Input 2: in_Depth - Depth camera input.

TouchDesigner Build: