Example that shows how to acquire depth map and RGB images from a kinect device, and show the warped RGB frame
#include <iostream>
#include <visp3/core/vpConfig.h>
#ifdef VISP_HAVE_LIBFREENECT_AND_DEPENDENCIES
#if (defined(VISP_HAVE_X11) || defined(VISP_HAVE_GTK) || defined(VISP_HAVE_OPENCV) || defined(VISP_HAVE_GDI))
#include <visp3/core/vpImage.h>
#include <visp3/core/vpTime.h>
#include <visp3/gui/vpDisplayGDI.h>
#include <visp3/gui/vpDisplayGTK.h>
#include <visp3/gui/vpDisplayOpenCV.h>
#include <visp3/gui/vpDisplayX.h>
#include <visp3/sensor/vpKinect.h>
int main()
{
try {
#ifdef VISP_HAVE_LIBFREENECT_OLD
Freenect::Freenect<vpKinect> freenect;
vpKinect &kinect = freenect.createDevice(0);
#else
Freenect::Freenect freenect;
#endif
if (0) {
float angle = -3;
kinect.setTiltDegrees(angle);
}
#if 1
#else
#endif
#if defined VISP_HAVE_X11
#elif defined VISP_HAVE_GTK
#elif defined VISP_HAVE_OPENCV
#elif defined VISP_HAVE_GDI
#endif
display.
init(Idmap, 100, 200,
"Depth map");
displayRgb.
init(Irgb, 900, 200,
"Color Image");
displayRgbWarped.
init(Iwarped, 900, 700,
"Warped Color Image");
std::cout << "Click in one image to stop acquisition" << std::endl;
}
std::cout << "Stop acquisition" << std::endl;
return 0;
std::cout << "Catch an exception: " << e << std::endl;
return 1;
} catch (...) {
std::cout << "Catch an exception " << std::endl;
return 1;
}
}
#else
int main()
{
std::cout << "You should install a video device (X11, GTK, OpenCV, GDI) to "
"run this example"
<< std::endl;
}
#endif
#else
int main() { std::cout << "You should install libfreenect to run this example" << std::endl; }
#endif