我正在为Android编写代码,以限制我从FAST检测器获得的关键点数量(现在我获得了大约9000个关键点)。根据响应,我想保留最好的500个关键点。我做了一个比较器,可以根据它们的响应对这些关键点进行排序。现在,我想找到一种方法来获取500个最佳关键点,并将它们放入新的列表中。

这是我的代码

// gets the keypoints from the detector, and puts them in a list
List<KeyPoint> pointstest = points1.toList();
                // comparator orders the keypoints (check image for output)
                order(pointstest);
                    // make a new list to put the 500 best keypoints in
                List<KeyPoint> nieuw = new ArrayList<KeyPoint>();

因此,我现在需要用最佳点“重新创建”列表,但是我目前仍在解决此问题上。有人有建议吗?我可能正在考虑for循环,但是可以针对这些关键点实现它吗?

最佳答案

怎么样

List<KeyPoint> nieuw = new ArrayList<KeyPoint>(pointstext.subList(0, 500));

09-25 22:01