OpenCV 4.10.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 |
virtual void | radiusMatchConvert (InputArray gpu_matches, std::vector< std::vector< DMatch > > &matches, bool compactResult=false)=0 |
将匹配数组从内部表示转换为标准匹配向量。 | |
virtual void | 训练 ()=0 |
训练描述符匹配器。 | |
从 cv::Algorithm 继承的公开成员函数 | |
算法 () | |
虚函数 | ~Algorithm () |
virtual String | getDefaultName () const |
virtual void | read (const FileNode &fn) |
从文件存储中读取算法参数。 | |
virtual void | save (const String &filename) const |
void | write (const 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 > | 从字符串加载 (const String &strModel, const String &objname=String()) |
从字符串中加载算法。 | |
template<typename _Tp > | |
static Ptr< _Tp > | 读取 (const FileNode &fn) |
从文件节点读取算法。 | |
其他继承成员 | |
从 cv::Algorithm 继承的保护成员函数 | |
void | writeFormat (FileStorage &fs) const |
用于配对关键点描述符的抽象基类。
具有两套配对方法:用于匹配图像与另一图像或图像集中的图像的描述符。
|
纯虚的 |
将描述符添加到训练描述符集合。
如果集合不为空,则新描述符将添加到现有的训练描述符中。
descriptors | 要添加的描述符。每个 descriptors[i] 都是从相同的训练图像中得到的描述符集。 |
|
纯虚的 |
清除训练描述符集合。
重自 cv::Algorithm.
|
static |
暴力描述符匹配器。
对于第一组中的每个描述符,这个匹配器通过尝试每个描述符来在第二组中找到最近的描述符。此描述符匹配器支持掩码允许的描述符集的匹配。
normType | 之一 NORM_L1, NORM_L2, NORM_HAMMING。L1 和 L2 范数是 SIFT 和 SURF 描述符的优选选择,应该用 NORM_HAMMING 与 ORB、BRISK 和 BRIEF 一同使用。 |
|
纯虚的 |
如果集合中没有训练描述符则返回 true。
重自 cv::Algorithm.
|
纯虚的 |
返回对训练描述符集合的常量链接。
|
纯虚的 |
如果描述符匹配器支持掩码允许的匹配,则返回 true。
|
纯虚的 |
从查询集中为每个描述符找到 k 个最佳匹配(阻塞版本)。
queryDescriptors | 查询描述符集。 |
trainDescriptors | 训练描述符集。此集不会添加到类对象中存储的训练描述符集合中。 |
matches | 匹配项。每个matches[i]是与相同查询描述符的k个或更少的匹配项。 |
k | 每个查询描述符或更少(如果一个查询描述符的总匹配项少于k)的最佳匹配项的计数。 |
掩码 | 指定输入查询和描述符的类别之间的可匹配范围的掩码。 |
compactResult | 当掩码(或多个掩码)不为空时使用的参数。如果compactResult为false,则匹配向量与queryDescriptors行具有相同的大小。如果compactResult为true,则匹配向量不包含完全掩码查询描述符的匹配项。 |
这些扩展变体的DescriptorMatcher::match方法为每个查询描述符找到几个最佳匹配项。匹配项以距离增加的顺序返回。有关查询和训练描述符的详细信息,请参阅DescriptorMatcher::match。
|
纯虚的 |
这是一个方便的重载成员函数,它只与上述函数在接受的参数方面不同。
|
纯虚的 |
从查询集中为每个描述符找到 k 个最佳匹配(异步版本)。
queryDescriptors | 查询描述符集。 |
trainDescriptors | 训练描述符集。此集不会添加到类对象中存储的训练描述符集合中。 |
matches | 存储在GPU内存中的匹配数组和。内部表示未定义。使用DescriptorMatcher::knnMatchConvert方法检索标准表示形式的结果。 |
k | 每个查询描述符或更少(如果一个查询描述符的总匹配项少于k)的最佳匹配项的计数。 |
掩码 | 指定输入查询和描述符的类别之间的可匹配范围的掩码。 |
stream | CUDA流。 |
这些扩展变体的DescriptorMatcher::matchAsync方法为每个查询描述符找到几个最佳匹配项。匹配项以距离增加的顺序返回。有关查询和训练描述符的详细信息,请参阅DescriptorMatcher::matchAsync。
|
纯虚的 |
这是一个方便的重载成员函数,它只与上述函数在接受的参数方面不同。
|
纯虚的 |
将匹配数组从内部表示转换为标准匹配向量。
该方法应与DescriptorMatcher::knnMatchAsync一起使用以获取最终结果。仅在DescriptorMatcher::knnMatchAsync完成后调用此方法(即同步后)。
gpu_matches | 来自DescriptorMatcher::knnMatchAsync的匹配项。 |
matches | DMatch对象向量。 |
compactResult | 当掩码(或多个掩码)不为空时使用的参数。如果compactResult为false,则匹配向量与queryDescriptors行具有相同的大小。如果compactResult为true,则匹配向量不包含完全掩码查询描述符的匹配项。 |
|
纯虚的 |
从查询集中为每个描述符查找最佳匹配(阻塞版本)。
queryDescriptors | 查询描述符集。 |
trainDescriptors | 训练描述符集。此集不会添加到类对象中存储的训练描述符集合中。 |
matches | 匹配项。如果在掩码中屏蔽了查询描述符,则不会为此描述符添加匹配项。因此,匹配项的大小可能小于查询描述符的数量。 |
掩码 | 指定输入查询和描述符的类别之间的可匹配范围的掩码。 |
该方法的第一种变体中,训练描述符被作为输入参数传递。在方法第二种变体中,使用通过DescriptorMatcher::add设置的训练描述符集合。可以通过可选的掩码(或掩码集合)指定哪些查询和训练描述符可以进行匹配。具体来说,只有当mask.at
|
纯虚的 |
这是一个方便的重载成员函数,它只与上述函数在接受的参数方面不同。
|
纯虚的 |
从查询集中为每个描述符查找最佳匹配(异步版本)。
queryDescriptors | 查询描述符集。 |
trainDescriptors | 训练描述符集。此集不会添加到类对象中存储的训练描述符集合中。 |
matches | 存储在GPU内存中的匹配数组。内部表示不分定义。使用DescriptorMatcher::matchConvert方法检索结果的标准表示。 |
掩码 | 指定输入查询和描述符的类别之间的可匹配范围的掩码。 |
stream | CUDA流。 |
该方法的第一种变体中,训练描述符被作为输入参数传递。在方法第二种变体中,使用通过DescriptorMatcher::add设置的训练描述符集合。可以通过可选的掩码(或掩码集合)指定哪些查询和训练描述符可以进行匹配。具体来说,只有当mask.at
|
纯虚的 |
这是一个方便的重载成员函数,它只与上述函数在接受的参数方面不同。
|
纯虚的 |
将匹配数组从内部表示转换为标准匹配向量。
该方法应与DescriptorMatcher::matchAsync一起使用以获取最终结果。仅在DescriptorMatcher::matchAsync完成后(即同步后)调用此方法。
gpu_matches | 从DescriptorMatcher::matchAsync返回的匹配项。 |
matches | DMatch对象向量。 |
|
纯虚的 |
对于每个查询描述符,找到不超过指定距离的训练描述符(阻塞版本)。
queryDescriptors | 查询描述符集。 |
trainDescriptors | 训练描述符集。此集不会添加到类对象中存储的训练描述符集合中。 |
matches | 找到的匹配项。 |
maxDistance | 匹配描述符之间距离的阈值。这里的距离指的是度量距离(例如Hamming距离),而不是坐标之间的距离(以像素为单位)! |
掩码 | 指定输入查询和描述符的类别之间的可匹配范围的掩码。 |
compactResult | 当掩码(或多个掩码)不为空时使用的参数。如果compactResult为false,则匹配向量与queryDescriptors行具有相同的大小。如果compactResult为true,则匹配向量不包含完全掩码查询描述符的匹配项。 |
对于每个查询描述符,该方法会找出与其距离等于或小于maxDistance的训练描述符。找到的匹配项以距离递增的顺序返回。
|
纯虚的 |
这是一个方便的重载成员函数,它只与上述函数在接受的参数方面不同。
|
纯虚的 |
对于每个查询描述符,找到训练描述符,这些描述符与指定距离不符(异步版本)。
queryDescriptors | 查询描述符集。 |
trainDescriptors | 训练描述符集。此集不会添加到类对象中存储的训练描述符集合中。 |
matches | 存储在GPU内存中的匹配数组。内部表示不分定义。使用DescriptorMatcher::radiusMatchConvert方法检索结果的标准表示。 |
maxDistance | 匹配描述符之间距离的阈值。这里的距离指的是度量距离(例如Hamming距离),而不是坐标之间的距离(以像素为单位)! |
掩码 | 指定输入查询和描述符的类别之间的可匹配范围的掩码。 |
stream | CUDA流。 |
对于每个查询描述符,该方法会找出与其距离等于或小于maxDistance的训练描述符。找到的匹配项以距离递增的顺序返回。
|
纯虚的 |
这是一个方便的重载成员函数,它只与上述函数在接受的参数方面不同。
|
纯虚的 |
将匹配数组从内部表示转换为标准匹配向量。
该方法应与DescriptorMatcher::radiusMatchAsync一起使用以获取最终结果。仅在DescriptorMatcher::radiusMatchAsync完成后(即同步后)调用此方法。
gpu_matches | 匹配项,来自 DescriptorMatcher::radiusMatchAsync。 |
matches | DMatch对象向量。 |
compactResult | 当掩码(或多个掩码)不为空时使用的参数。如果compactResult为false,则匹配向量与queryDescriptors行具有相同的大小。如果compactResult为true,则匹配向量不包含完全掩码查询描述符的匹配项。 |
|
纯虚的 |
训练描述符匹配器。
训练描述符匹配器(例如,Flann索引)。在所有匹配方法中,都会在匹配前运行train()方法。