编程语言
首页 > 编程语言> > python-如何使用OpenCV和SIFT查找我的训练图像的多个实例

python-如何使用OpenCV和SIFT查找我的训练图像的多个实例

作者:互联网

到目前为止,我已经能够使用BFMatcher非常准确地从查询图像中的训练图像中检测关键点.但是,我的查询图像(蜂巢的框架)中有数十个训练图像(蜜蜂)的实例.是否可以使用SIFT查找另一个图像的多个独立实例?

理想情况下,我希望能够与上面的图像相吻合,使我可以将查询图像中的4个关键点与多个独立的蜜蜂进行匹配.

解决方法:

我对OpenCV不太了解,无法知道它是否专门提供例程来帮助您.也就是说,如果您有SVD的数值库,例如进行DIY的数学运算还不错.麻木在Lowe的2004年论文中,匹配是由两个最接近的匹配的比率确定的.如果您计算“查询图像”中的所有关键点,然后应用此条件,则如果存在这些结果,您将很容易返回多个结果(数据库中具有相同比率/-epsilon的任何两个关键点都是匹配项).但是,这可能导致虚假匹配.因此,除了Lowe论文的基本测试之外,RANSAC还可用于丢弃与“训练图像”和“查询图像”之间的单应性不一致的候选匹配项.有关详细信息,请参阅David Lowe和Google“ RANSAC单应性”的“比例不变关键点的独特图像特征”.我不确定您是否希望特别匹配4个关键点是否至关重要.我要指的技术将在每次RANSAC迭代中使用4个点来计算候选单应性,但是如果匹配的总数恰好与单应性相符,则匹配的总数很容易会大于4.仅使用比率测试可以使用4点,而使用RANSAC则不能使用4点.

标签:sift,opencv,classification,feature-detection,python
来源: https://codeday.me/bug/20191029/1961839.html