我应该如何替换新 OpenCV 中的 FeatureDetector 功能?
How should I replace FeatureDetector function in new OpenCV?
我已经下载了 Java OpenCV 的示例代码。在几行代码中,编译器表示不推荐使用 FeatureDetectore()
方法。
FeatureDetector detector = FeatureDetector.create(FeatureDetector.MSER);
detector.detect(mGrey, keypoint);
listpoint = keypoint.toList();
那么,我该如何替换这部分代码呢?有什么新的选择吗?
或者我可以继续使用已弃用的功能吗?
您可以继续此操作,这将起作用。弃用意味着有新的推荐替代方案,但当然旧代码仍然有效。根据您的用例,新的方法是使用 FastFeatureDetector or AgastFeatureDetector。我不熟悉 OpenCV,所以很遗憾,我无法推荐您需要的确切实现,您需要阅读 JavaDoc/other 文档并找出适合您代码的内容。
看了这个documentation page,很明显现在我们直接实例化需要的检测器,比如:
Mat mask = new Mat();
MatOfKeyPoint keypoints = new MatOfKeyPoint();
MSER detector = MSER.create();
detector.detect(imageMat, keypoints, mask);
ORB 完全一样,只需更改 class:
Mat mask = new Mat();
MatOfKeyPoint keypoints = new MatOfKeyPoint();
ORB detector = ORB.create();
detector.detect(imageMat, keypoints, mask);
在弃用之前,我们必须编写类似于
(这是旧的 class ):
FeatureDetector _featureDetector = FeatureDetector.create(FeatureDetector.ORB);
我已经下载了 Java OpenCV 的示例代码。在几行代码中,编译器表示不推荐使用 FeatureDetectore()
方法。
FeatureDetector detector = FeatureDetector.create(FeatureDetector.MSER);
detector.detect(mGrey, keypoint);
listpoint = keypoint.toList();
那么,我该如何替换这部分代码呢?有什么新的选择吗? 或者我可以继续使用已弃用的功能吗?
您可以继续此操作,这将起作用。弃用意味着有新的推荐替代方案,但当然旧代码仍然有效。根据您的用例,新的方法是使用 FastFeatureDetector or AgastFeatureDetector。我不熟悉 OpenCV,所以很遗憾,我无法推荐您需要的确切实现,您需要阅读 JavaDoc/other 文档并找出适合您代码的内容。
看了这个documentation page,很明显现在我们直接实例化需要的检测器,比如:
Mat mask = new Mat();
MatOfKeyPoint keypoints = new MatOfKeyPoint();
MSER detector = MSER.create();
detector.detect(imageMat, keypoints, mask);
ORB 完全一样,只需更改 class:
Mat mask = new Mat();
MatOfKeyPoint keypoints = new MatOfKeyPoint();
ORB detector = ORB.create();
detector.detect(imageMat, keypoints, mask);
在弃用之前,我们必须编写类似于 (这是旧的 class ):
FeatureDetector _featureDetector = FeatureDetector.create(FeatureDetector.ORB);