我使用OpenCV进行对象识别。
获得场景图像和模板图像的keypoints
列表后,我将findHomography
函数与RANSAC一起使用。
在一个场景中可以有几个相同的对象,所以我对场景列表运行该函数,直到找不到有效的单应性。每次迭代后,我都会从场景列表中删除匹配的keypoints
。
通常情况下,每个对象检测不止一次,后续检测的质量会逐渐降低。
我的理解是,RANSAC在迭代过程中只使用了一些好的关键点,并且还有足够的关键点可以进行另一次检测。
有没有办法强制它使用所有匹配的关键点? 或者,一旦找到单应性,搜索其他拟合关键点,然后使用常规方法重新计算单应性? 这可以产生更准确的结果,因为有更多信息可用于计算单应性。此外,不会有重复。
修改
以下是我使用the results创建的this template示例。 我不在乎糟糕的情况。我的问题是关于双重检测(用箭头表示)。