0

I'm working on an image matcher that utilises depth information from the Kinect. I have already written quite a lot of code that does standard image matching in Python using OpenCV, however to make use of the Kinect I am using OpenFrameworks(C++). Instead of rewriting my Python code I'm running my scripts by embedding them into the C++ code.

I have a script that extracts SURF features from a set of images and does some processing (clustering etc). When I run this script from the command line using Python2.7 it works fine. However when I run it (embedded) through my C++ app all the SURF features have a 90 degree orientation.

[This is what the result should look like] https://i.stack.imgur.com/0fGf8.png

[This is the result when running through C++] https://i.stack.imgur.com/ECPev.png

I thought it may be that the Python.h I included was from a different version of Python, but it's definitely using the correct version.

How would I go about fixing/investigating this problem?

Kkov
  • 1,472
  • 2
  • 11
  • 20
  • This may seem dumb, but be careful that it is not simply your drawing function that causes this. I ran into some problems in the past, where the same functions in C and Python would take the same parameters, but not in the same order. – jlengrand May 23 '12 at 14:38
  • I did check that out. To make sure it wasn't the drawing function I printed the keypoint orientations in both cases. cvExtractSURF seems to be outputting all the features at 90 degrees. – Kkov May 23 '12 at 15:11

0 Answers0