我已经下载了Java OpenCV的示例代码。在代码的几行中有编译器称它已被弃用的FeatureDetectore()
方法。
FeatureDetector detector = FeatureDetector.create(FeatureDetector.MSER);
detector.detect(mGrey, keypoint);
listpoint = keypoint.toList();
那么,我应该如何替换这部分代码呢?这有什么新的选择吗?或者我可以继续使用已弃用的功能吗?
你可以继续这个,这将有效。弃用意味着有新的推荐替代方案,但当然旧代码仍然有效。这样做的新方法是根据您的使用情况使用FastFeatureDetector或AgastFeatureDetector。我不熟悉OpenCV,所以不幸的是我无法推荐您需要的确切实现,您需要阅读JavaDoc /其他文档并找出适合您代码的文档。
通过阅读这个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);