![]() |
OpenCV 4.12.0
开源计算机视觉
|
用于匹配关键点描述符的抽象基类。 更多...
#include <opencv2/cudafeatures2d.hpp>
公共成员函数 | |
| virtual void | add (const std::vector< GpuMat > &descriptors)=0 |
| 向描述符集合添加描述符进行训练。 | |
| virtual void | clear ()=0 |
| 清除训练描述符集合。 | |
| virtual bool | empty () const =0 |
| 如果集合中没有训练描述符,则返回 true。 | |
| virtual const std::vector< GpuMat > & | getTrainDescriptors () const =0 |
| 返回训练描述符集合的常量链接。 | |
| virtual bool | isMaskSupported () const =0 |
| 如果描述符匹配器支持遮罩允许的匹配,则返回 true。 | |
| virtual void | knnMatch (InputArray queryDescriptors, InputArray trainDescriptors, std::vector< std::vector< DMatch > > &matches, int k, InputArray mask=noArray(), bool compactResult=false)=0 |
| 为查询集中的每个描述符找到 k 个最佳匹配(阻塞版本)。 | |
| virtual void | knnMatch (InputArray queryDescriptors, std::vector< std::vector< DMatch > > &matches, int k, const std::vector< GpuMat > &masks=std::vector< GpuMat >(), bool compactResult=false)=0 |
| virtual void | knnMatchAsync (InputArray queryDescriptors, InputArray trainDescriptors, OutputArray matches, int k, InputArray mask=noArray(), Stream &stream=Stream::Null())=0 |
| 为查询集中的每个描述符找到 k 个最佳匹配(异步版本)。 | |
| virtual void | knnMatchAsync (InputArray queryDescriptors, OutputArray matches, int k, const std::vector< GpuMat > &masks=std::vector< GpuMat >(), Stream &stream=Stream::Null())=0 |
| virtual void | knnMatchConvert (InputArray gpu_matches, std::vector< std::vector< DMatch > > &matches, bool compactResult=false)=0 |
| 将匹配数组从内部表示转换为标准匹配向量。 | |
| virtual void | match (InputArray queryDescriptors, InputArray trainDescriptors, std::vector< DMatch > &matches, InputArray mask=noArray())=0 |
| 为查询集中的每个描述符找到最佳匹配(阻塞版本)。 | |
| virtual void | match (InputArray queryDescriptors, std::vector< DMatch > &matches, const std::vector< GpuMat > &masks=std::vector< GpuMat >())=0 |
| virtual void | matchAsync (InputArray queryDescriptors, InputArray trainDescriptors, OutputArray matches, InputArray mask=noArray(), Stream &stream=Stream::Null())=0 |
| 为查询集中的每个描述符找到最佳匹配(异步版本)。 | |
| virtual void | matchAsync (InputArray queryDescriptors, OutputArray matches, const std::vector< GpuMat > &masks=std::vector< GpuMat >(), Stream &stream=Stream::Null())=0 |
| virtual void | matchConvert (InputArray gpu_matches, std::vector< DMatch > &matches)=0 |
| 将匹配数组从内部表示转换为标准匹配向量。 | |
| virtual void | radiusMatch (InputArray queryDescriptors, InputArray trainDescriptors, std::vector< std::vector< DMatch > > &matches, float maxDistance, InputArray mask=noArray(), bool compactResult=false)=0 |
| 对于每个查询描述符,查找距离不大于指定距离的训练描述符(阻塞版本)。 | |
| virtual void | radiusMatch (InputArray queryDescriptors, std::vector< std::vector< DMatch > > &matches, float maxDistance, const std::vector< GpuMat > &masks=std::vector< GpuMat >(), bool compactResult=false)=0 |
| virtual void | radiusMatchAsync (InputArray queryDescriptors, InputArray trainDescriptors, OutputArray matches, float maxDistance, InputArray mask=noArray(), Stream &stream=Stream::Null())=0 |
| 对于每个查询描述符,查找距离不大于指定距离的训练描述符(异步版本)。 | |
| virtual void | radiusMatchAsync (InputArray queryDescriptors, OutputArray matches, float maxDistance, const std::vector< GpuMat > &masks=std::vector< GpuMat >(), Stream &stream=Stream::Null())=0 |
| virtual void | radiusMatchConvert (InputArray gpu_matches, std::vector< std::vector< DMatch > > &matches, bool compactResult=false)=0 |
| 将匹配数组从内部表示转换为标准匹配向量。 | |
| virtual void | train ()=0 |
| 训练描述符匹配器。 | |
公共成员函数 继承自 cv::Algorithm | |
| Algorithm () | |
| virtual | ~Algorithm () |
| virtual String | getDefaultName () const |
| virtual void | read (const FileNode &fn) |
| 从文件存储中读取算法参数。 | |
| virtual void | save (const String &filename) const |
| void | write (const Ptr< FileStorage > &fs, const String &name=String()) const |
| virtual void | write (FileStorage &fs) const |
| 将算法参数存储到文件存储中。 | |
| void | write (FileStorage &fs, const String &name) const |
静态公共成员函数 | |
| static Ptr< cuda::DescriptorMatcher > | createBFMatcher (int normType=cv::NORM_L2) |
| 暴力描述符匹配器。 | |
静态公共成员函数 继承自 cv::Algorithm | |
| template<typename _Tp > | |
| static Ptr< _Tp > | load (const String &filename, const String &objname=String()) |
| 从文件中加载算法。 | |
| template<typename _Tp > | |
| static Ptr< _Tp > | loadFromString (const String &strModel, const String &objname=String()) |
| 从字符串加载算法。 | |
| template<typename _Tp > | |
| static Ptr< _Tp > | read (const FileNode &fn) |
| 从文件节点读取算法。 | |
额外继承成员 | |
保护成员函数 继承自 cv::Algorithm | |
| void | writeFormat (FileStorage &fs) const |
用于匹配关键点描述符的抽象基类。
它有两组匹配方法:用于将一个图像的描述符与另一个图像或图像集进行匹配。
|
纯虚函数 |
向描述符集合添加描述符进行训练。
如果集合不为空,新描述符将被添加到现有训练描述符中。
| descriptors | 要添加的描述符。每个 descriptors[i] 都是来自同一个训练图像的描述符集。 |
|
纯虚函数 |
清除训练描述符集合。
重写自 cv::Algorithm。
|
static |
|
纯虚函数 |
如果集合中没有训练描述符,则返回 true。
重写自 cv::Algorithm。
|
纯虚函数 |
返回训练描述符集合的常量链接。
|
纯虚函数 |
如果描述符匹配器支持遮罩允许的匹配,则返回 true。
|
纯虚函数 |
为查询集中的每个描述符找到 k 个最佳匹配(阻塞版本)。
| queryDescriptors | 查询描述符集。 |
| trainDescriptors | 训练描述符集。此集不会添加到存储在类对象中的训练描述符集合中。 |
| matches | 匹配项。每个 matches[i] 是相同查询描述符的 k 个或更少匹配项。 |
| k | 每个查询描述符找到的最佳匹配计数,如果某个查询描述符总共有少于 k 个可能的匹配,则计数会更少。 |
| mask | 指定输入查询和训练描述符矩阵之间允许匹配的掩码。 |
| compactResult | 当掩码(或多个掩码)不为空时使用的参数。如果 compactResult 为 false,则 matches 向量的大小与 queryDescriptors 的行数相同。如果 compactResult 为 true,则 matches 向量不包含完全被掩盖的查询描述符的匹配项。 |
DescriptorMatcher::match 方法的这些扩展变体为每个查询描述符找到几个最佳匹配。匹配按距离递增顺序返回。有关查询和训练描述符的详细信息,请参见 DescriptorMatcher::match。
|
纯虚函数 |
这是一个重载成员函数,为方便起见而提供。它与上述函数的区别仅在于它接受的参数。
|
纯虚函数 |
为查询集中的每个描述符找到 k 个最佳匹配(异步版本)。
| queryDescriptors | 查询描述符集。 |
| trainDescriptors | 训练描述符集。此集不会添加到存储在类对象中的训练描述符集合中。 |
| matches | 存储在 GPU 内存中的匹配数组。内部表示未定义。使用 DescriptorMatcher::knnMatchConvert 方法以标准表示检索结果。 |
| k | 每个查询描述符找到的最佳匹配计数,如果某个查询描述符总共有少于 k 个可能的匹配,则计数会更少。 |
| mask | 指定输入查询和训练描述符矩阵之间允许匹配的掩码。 |
| 流 | CUDA 流。 |
DescriptorMatcher::matchAsync 方法的这些扩展变体为每个查询描述符找到几个最佳匹配。匹配按距离递增顺序返回。有关查询和训练描述符的详细信息,请参见 DescriptorMatcher::matchAsync。
|
纯虚函数 |
这是一个重载成员函数,为方便起见而提供。它与上述函数的区别仅在于它接受的参数。
|
纯虚函数 |
将匹配数组从内部表示转换为标准匹配向量。
此方法应与 DescriptorMatcher::knnMatchAsync 结合使用以获取最终结果。仅在 DescriptorMatcher::knnMatchAsync 完成后(即同步后)调用此方法。
| gpu_matches | 匹配项,从 DescriptorMatcher::knnMatchAsync 返回。 |
| matches | DMatch 对象的向量。 |
| compactResult | 当掩码(或多个掩码)不为空时使用的参数。如果 compactResult 为 false,则 matches 向量的大小与 queryDescriptors 的行数相同。如果 compactResult 为 true,则 matches 向量不包含完全被掩盖的查询描述符的匹配项。 |
|
纯虚函数 |
为查询集中的每个描述符找到最佳匹配(阻塞版本)。
| queryDescriptors | 查询描述符集。 |
| trainDescriptors | 训练描述符集。此集不会添加到存储在类对象中的训练描述符集合中。 |
| matches | 匹配项。如果查询描述符在掩码中被掩盖,则不会为该描述符添加匹配项。因此,matches 的大小可能小于查询描述符的数量。 |
| mask | 指定输入查询和训练描述符矩阵之间允许匹配的掩码。 |
此方法的第一个变体中,训练描述符作为输入参数传入。此方法的第二个变体中,使用 DescriptorMatcher::add 设置的训练描述符集合。可以传入可选掩码(或多个掩码)来指定哪些查询和训练描述符可以匹配。即,只有当 mask.at<uchar>(i,j) 非零时,queryDescriptors[i] 才能与 trainDescriptors[j] 匹配。
|
纯虚函数 |
这是一个重载成员函数,为方便起见而提供。它与上述函数的区别仅在于它接受的参数。
|
纯虚函数 |
为查询集中的每个描述符找到最佳匹配(异步版本)。
| queryDescriptors | 查询描述符集。 |
| trainDescriptors | 训练描述符集。此集不会添加到存储在类对象中的训练描述符集合中。 |
| matches | 存储在 GPU 内存中的匹配数组。内部表示未定义。使用 DescriptorMatcher::matchConvert 方法以标准表示检索结果。 |
| mask | 指定输入查询和训练描述符矩阵之间允许匹配的掩码。 |
| 流 | CUDA 流。 |
此方法的第一个变体中,训练描述符作为输入参数传入。此方法的第二个变体中,使用 DescriptorMatcher::add 设置的训练描述符集合。可以传入可选掩码(或多个掩码)来指定哪些查询和训练描述符可以匹配。即,只有当 mask.at<uchar>(i,j) 非零时,queryDescriptors[i] 才能与 trainDescriptors[j] 匹配。
|
纯虚函数 |
这是一个重载成员函数,为方便起见而提供。它与上述函数的区别仅在于它接受的参数。
|
纯虚函数 |
将匹配数组从内部表示转换为标准匹配向量。
此方法应与 DescriptorMatcher::matchAsync 结合使用以获取最终结果。仅在 DescriptorMatcher::matchAsync 完成后(即同步后)调用此方法。
| gpu_matches | 匹配项,从 DescriptorMatcher::matchAsync 返回。 |
| matches | DMatch 对象的向量。 |
|
纯虚函数 |
对于每个查询描述符,查找距离不大于指定距离的训练描述符(阻塞版本)。
| queryDescriptors | 查询描述符集。 |
| trainDescriptors | 训练描述符集。此集不会添加到存储在类对象中的训练描述符集合中。 |
| matches | 找到的匹配项。 |
| maxDistance | 匹配描述符之间距离的阈值。此处距离指度量距离(例如 汉明 距离),而不是坐标之间的距离(以像素测量)! |
| mask | 指定输入查询和训练描述符矩阵之间允许匹配的掩码。 |
| compactResult | 当掩码(或多个掩码)不为空时使用的参数。如果 compactResult 为 false,则 matches 向量的大小与 queryDescriptors 的行数相同。如果 compactResult 为 true,则 matches 向量不包含完全被掩盖的查询描述符的匹配项。 |
对于每个查询描述符,这些方法查找距离查询描述符不大于 maxDistance 的训练描述符。找到的匹配项按距离递增顺序返回。
|
纯虚函数 |
这是一个重载成员函数,为方便起见而提供。它与上述函数的区别仅在于它接受的参数。
|
纯虚函数 |
对于每个查询描述符,查找距离不大于指定距离的训练描述符(异步版本)。
| queryDescriptors | 查询描述符集。 |
| trainDescriptors | 训练描述符集。此集不会添加到存储在类对象中的训练描述符集合中。 |
| matches | 存储在 GPU 内存中的匹配数组。内部表示未定义。使用 DescriptorMatcher::radiusMatchConvert 方法以标准表示检索结果。 |
| maxDistance | 匹配描述符之间距离的阈值。此处距离指度量距离(例如 汉明 距离),而不是坐标之间的距离(以像素测量)! |
| mask | 指定输入查询和训练描述符矩阵之间允许匹配的掩码。 |
| 流 | CUDA 流。 |
对于每个查询描述符,这些方法查找距离查询描述符不大于 maxDistance 的训练描述符。找到的匹配项按距离递增顺序返回。
|
纯虚函数 |
这是一个重载成员函数,为方便起见而提供。它与上述函数的区别仅在于它接受的参数。
|
纯虚函数 |
将匹配数组从内部表示转换为标准匹配向量。
此方法应与 DescriptorMatcher::radiusMatchAsync 结合使用以获取最终结果。仅在 DescriptorMatcher::radiusMatchAsync 完成后(即同步后)调用此方法。
| gpu_matches | 匹配项,从 DescriptorMatcher::radiusMatchAsync 返回。 |
| matches | DMatch 对象的向量。 |
| compactResult | 当掩码(或多个掩码)不为空时使用的参数。如果 compactResult 为 false,则 matches 向量的大小与 queryDescriptors 的行数相同。如果 compactResult 为 true,则 matches 向量不包含完全被掩盖的查询描述符的匹配项。 |
|
纯虚函数 |
训练描述符匹配器。
训练描述符匹配器(例如,FLANN 索引)。在所有匹配方法中,每次匹配前都会运行 train() 方法。