I would like to create a dynamic projection mapping with a kinect v2 onto moving faces. The projection should also track gestures. For the Face and Gestures I already could use / adapt the libraries kinectfusion https://github.com/ParikaGoel/KinectFusion. For the procam calibration I tried to use the method from roomalivetoolkit https://github.com/microsoft/RoomAliveToolkit/tree/master/ProCamCalibration The build of the different applications for the calibrations runs without an error. But the created xml file doesn't show a result which I expected according to other samples with similar configurations.
<?xml version="1.0" encoding="utf-8"?>
<ProjectorCameraEnsemble xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/RoomAliveToolkit">
<cameras>
<ProjectorCameraEnsemble.Camera>
<calibration>
<colorCameraMatrix>
<ValuesByColumn xmlns:d6p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d6p1:ArrayOfdouble>
<d6p1:double>1063.463111378544</d6p1:double>
<d6p1:double>0</d6p1:double>
<d6p1:double>0</d6p1:double>
</d6p1:ArrayOfdouble>
<d6p1:ArrayOfdouble>
<d6p1:double>0</d6p1:double>
<d6p1:double>1061.8627325189539</d6p1:double>
<d6p1:double>0</d6p1:double>
</d6p1:ArrayOfdouble>
<d6p1:ArrayOfdouble>
<d6p1:double>954.72989120454383</d6p1:double>
<d6p1:double>534.529563995388</d6p1:double>
<d6p1:double>1</d6p1:double>
</d6p1:ArrayOfdouble>
</ValuesByColumn>
</colorCameraMatrix>
<colorLensDistortion>
<ValuesByColumn xmlns:d6p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d6p1:ArrayOfdouble>
<d6p1:double>0.013346956850287547</d6p1:double>
<d6p1:double>-0.0035797700319366091</d6p1:double>
</d6p1:ArrayOfdouble>
</ValuesByColumn>
</colorLensDistortion>
<depthCameraMatrix>
<ValuesByColumn xmlns:d6p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d6p1:ArrayOfdouble>
<d6p1:double>367.87554163500874</d6p1:double>
<d6p1:double>0</d6p1:double>
<d6p1:double>0</d6p1:double>
</d6p1:ArrayOfdouble>
<d6p1:ArrayOfdouble>
<d6p1:double>0</d6p1:double>
<d6p1:double>367.90133748048856</d6p1:double>
<d6p1:double>0</d6p1:double>
</d6p1:ArrayOfdouble>
<d6p1:ArrayOfdouble>
<d6p1:double>252.47403573205293</d6p1:double>
<d6p1:double>218.32574111821748</d6p1:double>
<d6p1:double>1</d6p1:double>
</d6p1:ArrayOfdouble>
</ValuesByColumn>
</depthCameraMatrix>
<depthLensDistortion>
<ValuesByColumn xmlns:d6p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d6p1:ArrayOfdouble>
<d6p1:double>0.051385764539217227</d6p1:double>
<d6p1:double>-0.16113227210632269</d6p1:double>
</d6p1:ArrayOfdouble>
</ValuesByColumn>
</depthLensDistortion>
<depthToColorTransform>
<ValuesByColumn xmlns:d6p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d6p1:ArrayOfdouble>
<d6p1:double>0.99997341632843018</d6p1:double>
<d6p1:double>0.0047127651050686836</d6p1:double>
<d6p1:double>-0.0055638905614614487</d6p1:double>
<d6p1:double>0</d6p1:double>
</d6p1:ArrayOfdouble>
<d6p1:ArrayOfdouble>
<d6p1:double>-0.0046834396198391914</d6p1:double>
<d6p1:double>0.99997520446777344</d6p1:double>
<d6p1:double>0.0052772583439946175</d6p1:double>
<d6p1:double>0</d6p1:double>
</d6p1:ArrayOfdouble>
<d6p1:ArrayOfdouble>
<d6p1:double>0.0055886264890432358</d6p1:double>
<d6p1:double>-0.005251091904938221</d6p1:double>
<d6p1:double>0.99997061491012573</d6p1:double>
<d6p1:double>0</d6p1:double>
</d6p1:ArrayOfdouble>
<d6p1:ArrayOfdouble>
<d6p1:double>0.05262937861479515</d6p1:double>
<d6p1:double>-0.0001241124380167218</d6p1:double>
<d6p1:double>9.8476117035936562E-05</d6p1:double>
<d6p1:double>1</d6p1:double>
</d6p1:ArrayOfdouble>
</ValuesByColumn>
</depthToColorTransform>
</calibration>
<hostNameOrAddress>localhost</hostNameOrAddress>
<name>0</name>
<pose>
<ValuesByColumn xmlns:d5p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d5p1:ArrayOfdouble>
<d5p1:double>1</d5p1:double>
<d5p1:double>0</d5p1:double>
<d5p1:double>0</d5p1:double>
<d5p1:double>0</d5p1:double>
</d5p1:ArrayOfdouble>
<d5p1:ArrayOfdouble>
<d5p1:double>0</d5p1:double>
<d5p1:double>1</d5p1:double>
<d5p1:double>0</d5p1:double>
<d5p1:double>0</d5p1:double>
</d5p1:ArrayOfdouble>
<d5p1:ArrayOfdouble>
<d5p1:double>0</d5p1:double>
<d5p1:double>0</d5p1:double>
<d5p1:double>1</d5p1:double>
<d5p1:double>0</d5p1:double>
</d5p1:ArrayOfdouble>
<d5p1:ArrayOfdouble>
<d5p1:double>0</d5p1:double>
<d5p1:double>0</d5p1:double>
<d5p1:double>0</d5p1:double>
<d5p1:double>1</d5p1:double>
</d5p1:ArrayOfdouble>
</ValuesByColumn>
</pose>
</ProjectorCameraEnsemble.Camera>
</cameras>
<name>Untitled</name>
<projectors>
<ProjectorCameraEnsemble.Projector>
<cameraMatrix i:nil="true" />
<displayIndex>2</displayIndex>
<height>1080</height>
<hostNameOrAddress>localhost</hostNameOrAddress>
<lensDistortion i:nil="true" />
<lockIntrinsics>false</lockIntrinsics>
<name>0</name>
<pose i:nil="true" />
<width>1920</width>
</ProjectorCameraEnsemble.Projector>
</projectors>
</ProjectorCameraEnsemble>
Also at the end of the application it shows the following errors: image above shows error Apart from that when I start the ProjectorServer it basically shows just a window frame without any values or data. projector server application Does somebody know what causes this error ? Or probably had the same issue before? BR