Example that shows how to acquire depth map and RGB images from a kinect device, and show the warped RGB frame
#include <visp/vpConfig.h>
#include <iostream>
#ifdef VISP_HAVE_LIBFREENECT_AND_DEPENDENCIES
#if (defined (VISP_HAVE_X11) || defined(VISP_HAVE_GTK) || defined(VISP_HAVE_OPENCV) || defined(VISP_HAVE_GDI))
#include <visp/vpImage.h>
#include <visp/vpDisplayX.h>
#include <visp/vpDisplayGTK.h>
#include <visp/vpDisplayOpenCV.h>
#include <visp/vpDisplayGDI.h>
#include <visp/vpKinect.h>
#include <visp/vpTime.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