Added CameraK4W2 (Kinect for Windows SDK v2 driver)

This commit is contained in:
matlabbe
2017-11-06 00:19:12 -05:00
parent 65e82eb37e
commit 7dabfdc207
14 changed files with 912 additions and 22 deletions

View File

@@ -55,6 +55,7 @@ void showUsage()
" 7=FlyCapture2 (Bumblebee2)\n"
" 8=ZED stereo\n"
" 9=RealSense\n"
" 10=Kinect for Windows 2 SDK\n"
" Options:\n"
" -rate #.# Input rate Hz (default 0=inf)\n"
" -save_stereo \"path\" Save stereo images in a folder or a video file (side by side *.avi).\n"
@@ -151,9 +152,9 @@ int main(int argc, char * argv[])
// last
driver = atoi(argv[i]);
if(driver < 0 || driver > 9)
if(driver < 0 || driver > 10)
{
UERROR("driver should be between 0 and 9.");
UERROR("driver should be between 0 and 10.");
showUsage();
}
}
@@ -255,6 +256,15 @@ int main(int argc, char * argv[])
}
camera = new rtabmap::CameraRealSense(0);
}
else if (driver == 10)
{
if (!rtabmap::CameraK4W2::available())
{
UERROR("Not built with Kinect for Windows 2 SDK support...");
exit(-1);
}
camera = new rtabmap::CameraK4W2(0);
}
else
{
UFATAL("");
@@ -268,6 +278,12 @@ int main(int argc, char * argv[])
}
rtabmap::SensorData data = camera->takeImage();
if (data.imageRaw().empty())
{
printf("Cloud not get frame from the camera!\n");
delete camera;
exit(1);
}
if(data.imageRaw().cols % data.depthOrRightRaw().cols != 0 || data.imageRaw().rows % data.depthOrRightRaw().rows != 0)
{
UWARN("RGB (%d/%d) and depth (%d/%d) frames are not the same size! The registered cloud cannot be shown.",