2

我在 OpenCV 中使用密集算法实现。版本 2.4.x

我想知道是否有修改特征检测的选项,以便不是每个像素都被查看,但可能每 5 个。这样做我可以减少数据并加快流程。更好的是在图片上放置一个只有中间像素相关的网格。但我找不到办法。

到目前为止,这是我的代码:

    System.loadLibrary(Core.NATIVE_LIBRARY_NAME);

    String sourcePath = path;
    Features2d features2d = new Features2d();
    Mat srcImgMat = Highgui.imread(sourcePath);

    MatOfKeyPoint matOfKeyPoints = new MatOfKeyPoint(); 

    FeatureDetector blobDetector = FeatureDetector
            .create(FeatureDetector.DENSE);
    blobDetector.detect(srcImgMat, matOfKeyPoints);

文档

有什么想法吗?谢谢

4

1 回答 1

0

密集特征检测器定义为

class DenseFeatureDetector : public FeatureDetector
    {
    public:
            DenseFeatureDetector( float initFeatureScale=1.f, int featureScaleLevels=1,
                          float featureScaleMul=0.1f,
                          int initXyStep=6, int initImgBound=0,
                          bool varyXyStepWithScale=true,
                          bool varyImgBoundWithScale=false );
    protected:
    ...
};

我认为 initXyStep 是您需要使用的参数。

于 2015-12-12T19:13:44.540 回答