我使用OpenCV ORB方法检测视频流中的对象。我的问题是BFMatcher究竟是如何实现这一目标的?
据我所知,FlannBasedMatcher使用KD树对对象进行分类,并且此方法比BFMatcher更快,但匹配可能不一定是最好的。
答案 0 :(得分:0)
使用 BFMatcher 的目的是匹配关键点描述符。
匹配描述符的最简单方法是在不同图像中搜索最相似的描述符。这是通过 BFMatcher :: match 方法完成的,该方法从查询图像中找到每个描述符的最佳匹配。
还有其他方法,例如 BFMatcher :: knnMatch 和 BFMatcher :: radiusMatch ,它们更复杂但必须在某些应用程序中使用。
BFMatcher OpenCV docs: http://docs.opencv.org/modules/features2d/doc/common_interfaces_of_descriptor_matchers.html#descriptormatcher-match