I want to make an application able to detect and track object using Kinect camera.
I used SURF algorithm to find an object, exactly as described on EmguCV's "SURF feature detector in CSharp" and in EmguCV's example "SURFFeature". I'm capturing an image from camera to detect and show it in small picture box, while camera image is in big picture box. But when I took a photo of the object SURF algorithm starts to do some totally random matching. Tracking objects should have a red rectangle around it, but nothing happens like that, and the matching vector lines are pointing to the totally different objects.
I'm using Visual Studio 2010 with Kinect for Windows SDK 1.8 and EmguCV 2.4.10.
Here are the pictures showing the situation:
Trying to capture a toy bulb on a rope.

Trying to capture a book.

Can anyone help me to know why SURF isn't detecting that objects properly? What am I doing wrong?