我正在OpenCV中实现一个在MATLAB中设计的算法。我正在为OpenCV中的SURF特征提取器编写单元测试,并希望将MATLAB提取的SURF特征的输出与OpenCV进行比较。
问题是,使用相同的参数进行MATLAB和OpenCV提取器时,我得到了不同数量的特征。这怎么可能?有不同的实现SURF的方法吗?
对于MATLAB(http://www.mathworks.com/help/vision/ref/detectsurffeatures.html),我使用:MetricThresh: 200,NumOctaves: 3,NumScaleLevels: 4,SURFSize: 64。
对于OpenCV,我使用:HessianThreshold: 200,nOctaves: 3,nOctaveLayers: 4,extended: false,upright: true。
这里发生了什么?有没有更好的方法来测试openCV和MATLAB是否从同一图像中产生相同的提取SURF特征?
谢谢你的帮助!
问题是,使用相同的参数进行MATLAB和OpenCV提取器时,我得到了不同数量的特征。这怎么可能?有不同的实现SURF的方法吗?
对于MATLAB(http://www.mathworks.com/help/vision/ref/detectsurffeatures.html),我使用:MetricThresh: 200,NumOctaves: 3,NumScaleLevels: 4,SURFSize: 64。
对于OpenCV,我使用:HessianThreshold: 200,nOctaves: 3,nOctaveLayers: 4,extended: false,upright: true。
这里发生了什么?有没有更好的方法来测试openCV和MATLAB是否从同一图像中产生相同的提取SURF特征?
谢谢你的帮助!