【问题标题】:How should I replace FeatureDetector function in new OpenCV?我应该如何替换新 OpenCV 中的 FeatureDetector 功能?
【发布时间】:2018-08-04 22:33:46
【问题描述】:

我已经下载了 Java OpenCV 的示例代码。在几行代码中有FeatureDetectore() 编译器说它已被弃用的方法。

    FeatureDetector detector = FeatureDetector.create(FeatureDetector.MSER);
    detector.detect(mGrey, keypoint);
    listpoint = keypoint.toList();

那么,我应该如何替换这部分代码呢?有什么新的选择吗? 或者我可以继续使用已弃用的功能吗?

【问题讨论】:

    标签: java opencv replace deprecated feature-detection


    【解决方案1】:

    您可以继续这样做,这将起作用。弃用意味着有新的推荐替代方案,但当然旧代码仍然可以使用。这样做的新方法是使用FastFeatureDetectorAgastFeatureDetector,具体取决于您的用例。我不熟悉 OpenCV,所以很遗憾,我无法推荐您需要的具体实现,您需要阅读 JavaDoc/其他文档并找出适合您的代码的。

    【讨论】:

      【解决方案2】:

      看了这个documentation page,很明显现在我们直接实例化了需要的检测器,比如:

      Mat mask = new Mat();
      MatOfKeyPoint keypoints = new MatOfKeyPoint();
      MSER detector = MSER.create();
      detector.detect(imageMat, keypoints, mask);
      

      ORB 完全一样,只是换个类:

      Mat mask = new Mat();
      MatOfKeyPoint keypoints = new MatOfKeyPoint();
      ORB detector = ORB.create();
      detector.detect(imageMat, keypoints, mask);
      

      在弃用之前,我们必须写一些类似于 (这是旧课程):

      FeatureDetector _featureDetector = FeatureDetector.create(FeatureDetector.ORB);
      

      【讨论】:

        猜你喜欢
        • 2023-03-12
        • 2013-03-26
        • 2011-12-28
        • 2020-03-29
        • 1970-01-01
        • 1970-01-01
        • 2019-02-05
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多