本文主要是介绍并查集(disjoint set)结构介绍,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1.简述
在实现多图像无序输入的拼接中,我们先使用surf算法对任意两幅图像进行特征点匹配,每对图像的匹配都有一个置信度confidence参数,来衡量两幅图匹配的可信度,当confidence>conf_threshold,我们就认为这两幅图可以拼接,属于一个全景拼接的集合,然后扩展这个集合就可以确定最大的可拼接集合,排除一些无效的图像,然后进行后续的拼接。
并查集的定义就是并查集是一种树型的数据结构,用于处理一些不相交集合(Disjoint Sets)的合并及查询问题。即将属于相同集合的元素合并起来,中间需要查找某个元素属于哪个集合,然后需要将两个元素或者集合进行合并处理。
2.结构体及函数定义
下面我们介绍opencv_stitching中使用的互斥集结构和函数的定义
class DisjointSets
{
public://互斥集初始化,元素个数是elem_countDisjointSets(int elem_count = 0) { createOneElemSets(elem_count); }void createOneElemSets(int elem_count);//创建互斥集 int findSetByElem(int elem);//查找元素所属的集合int mergeSets(int set1, int set2);//合并两个集合std::vector<int&g
这篇关于并查集(disjoint set)结构介绍的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!