I'm implementing an algorithm in OpenCV that I've designed in MATLAB. I'm writing a unit test for the SURF feature extractor in OpenCV, and I want to compare the output of MATLAB's extracted SURF features to OpenCV.
This issue is, using the same parameters for both MATLAB and OpenCV extractors I'm getting different numbers of features. How is this possible? Are there different ways to implement SURF?
For MATLAB (http://www.mathworks.com/help/vision/ref/detectsurffeatures.html) I'm using:
MetricThresh: 200
NumOctaves: 3
NumScaleLevels: 4
SURFSize: 64
For OpenCV I'm using:
HessianThreshold: 200
nOctaves: 3
nOctaveLayers: 4
extended: false
upright: true
What's going on here? Is there a better way to test that openCV and MATLAB are producing the same extracted SURF features from the same image?
Thank you for your help!