Derek
Derek

Reputation: 11905

Kinect + OpenCV + QtCreator

this is just kind of a broad question to get some starting points.

I am looking to purchase a Microsoft Kinect for the purposes of doing some programming with it.

I prefer programming in C++, and have typically made interfaces using QtCreator as opposed to VS. I see that there are a couple of Kinect's to buy - the normal gaming device, and "Kinect for Windows" which includes the SDK, it seems? Do i really need that, or can I buy the cheaper Kinect gaming device? I see that there is an openkinect project out there - I assume that is the FOSS equivalent of the "for Windows" version? I think I read somewhere the MS SDK is only going to work in Visual Studio (which I have), but if its that much better, I guess I could switch to VS for these projects.

Secondly, I am interested in doing some motion capture / 3d model projection onto the 3d objects I capture. Do I definitely need a depth camera to do this type of thing? (As in - map a "monster" to a human who's moving around in the scene). This is where I thought OpenCV might come in handy - and I am especially interested in OpenCV because of its GPU-enabled features.

Thanks for the discussion (in advance)

Upvotes: 3

Views: 5075

Answers (1)

Adrien BARRAL
Adrien BARRAL

Reputation: 3604

I am working on the kinect device for reaserch projects so I think I can anwser to some of your questions...

Some Open SDK to use with kinect :

  1. If you like QT, you will like the : QT Kinect Widget. I never test this widget.
  2. OpenNI : OpenNI. That is the official driver of the sensors like Kinect or Asus XTion pro (also called the RGBD sensors). This API can provide you either the raw point cloud or the skeleton if you want to make a smart HMI quickly.
  3. The Point Cloud Library : PCL. You can use this library to acquire the point cloud, and then use all algorithm presents in this library to develop you own point cloud application !
  4. And of course, the OpenCV Wrapper : OpenCV. This will provide you a depth map (not a point cloud).

All this SDK are usable with QtCreator both on linux and windows.

The Hardware :

If you buy a kinect in a video game store, you will not be able to plug it on your computer because the socket isn't standard. You will need to buy an adapter : KinectAdapter. This adapter is required because Kinect have a DC motors, and USB can't provide enough power for this motor.

If you buy an Asus XTION Pro live, you will not need any adapter. There is no DC motors on this device and i am quite sure that is exactly the same device than kinect. I think that Microsoft didn't "invent" the kinect, but OpenNI does ! Asus bought a licence to OpenNI for their XTION, and Microsoft bought openni for their kinect :)

Your application

I never done Motion capture and 3D model projection, but I can tell you that it will be easier to do it with a depth sensor. I think the best way to do it is to use PCL to acquire point cloud and RGB image. Thanks to the plane detectors in PCL you can compute the projection of your 3D model, and use OpenCV to display the RGB data and the projected model.

Upvotes: 3

Related Questions