我正在为 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 循环,但它可以为这些关键点实现吗?