了解 cv::detail::leaveBiggestComponent() 函数在 opencv 3.2 中的工作原理

Dae*_*ter 7 c++ opencv image-stitching

我很难理解函数cv::detail::leaveBiggestComponent的工作原理,因为几乎没有可用的文档。

我知道该函数应该做什么,也就是说,给定图像之间的一组关键点匹配,返回具有一致匹配的最大图像子集。此外,根据其实现的规定,它还应该删除图像重复项。

该函数是 opencv Stitching Pipeline的一部分,如果引用 Brown 和 Lowe 论文,则应作为全景识别模块执行。

但是,当涉及到分解代码时,我无法真正理解这是如何完成的。

TL;DR我正在寻找 cv::detail::leaveBiggestComponent() 流程图的伪代码解释,请帮助。

代码实现在这里它从此处(实现)和此处(标头)调用相关代码(也没有文档)。

特别令人感兴趣的是 cv::detail::DisjointSets() 的工作原理。