我应该如何替换新OpenCV中的FeatureDetector功能?

问题描述 投票:2回答:2

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

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

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

java opencv replace deprecated feature-detection
2个回答
5
投票

你可以继续这个,这将有效。弃用意味着有新的推荐替代方案,但当然旧代码仍然有效。这样做的新方法是根据您的使用情况使用FastFeatureDetectorAgastFeatureDetector。我不熟悉OpenCV,所以不幸的是我无法推荐您需要的确切实现,您需要阅读JavaDoc /其他文档并找出适合您代码的文档。


0
投票

通过阅读这个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);

在弃用之前,我们必须编写类似的东西(这是OLD类):

FeatureDetector _featureDetector = FeatureDetector.create(FeatureDetector.ORB);
© www.soinside.com 2019 - 2024. All rights reserved.