OpenCV 4.11.0
开源计算机视觉
加载中…
搜索中…
未找到匹配项
cv::xfeatures2d::BEBLID 类参考抽象类

实现 BEBLID(基于提升的有效二值局部图像描述符)的类,如 [256] 所述。 更多…

#include <opencv2/xfeatures2d.hpp>

cv::xfeatures2d::BEBLID 的协作图

公共类型

枚举  BeblidSize {
  SIZE_512_BITS = 100 ,
  SIZE_256_BITS = 101
}
 描述符的比特数,每个比特都是一个提升弱学习器。用户可以选择 512 位或 256 位。更多…
 

公共成员函数

String getDefaultName () const CV_OVERRIDE
 
虚函数 float getScaleFactor () const =0
 
虚函数 void setScaleFactor (float scale_factor)=0
 
- 继承自 cv::Feature2D 的公共成员函数
虚函数 ~Feature2D ()
 
虚函数 void compute (InputArray image, std::vector< KeyPoint > &keypoints, OutputArray descriptors)
 计算图像(第一种变体)或图像集(第二种变体)中检测到的一组关键点的描述符。
 
虚函数 void compute (InputArrayOfArrays images, std::vector< std::vector< KeyPoint > > &keypoints, OutputArrayOfArrays descriptors)
 
虚函数 int defaultNorm () const
 
虚函数 int descriptorSize () const
 
虚函数 int descriptorType () const
 
虚函数 void detect (InputArray image, std::vector< KeyPoint > &keypoints, InputArray mask=noArray())
 检测图像(第一种变体)或图像集(第二种变体)中的关键点。
 
虚函数 void detect (InputArrayOfArrays images, std::vector< std::vector< KeyPoint > > &keypoints, InputArrayOfArrays masks=noArray())
 
虚函数 void detectAndCompute (InputArray image, InputArray mask, std::vector< KeyPoint > &keypoints, OutputArray descriptors, bool useProvidedKeypoints=false)
 
虚函数 bool empty () const CV_OVERRIDE
 如果检测器对象为空,则返回 true。
 
虚函数 void read (const FileNode &) CV_OVERRIDE
 从文件存储中读取算法参数。
 
void read (const String &fileName)
 
void write (const Ptr< FileStorage > &fs, const String &name) const
 
void write (const String &fileName) const
 
虚函数 void write (FileStorage &) const CV_OVERRIDE
 将算法参数存储到文件存储中。
 
void write (FileStorage &fs, const String &name) const
 
- 继承自 cv::Algorithm 的公共成员函数
 Algorithm ()
 
虚函数 ~Algorithm ()
 
虚函数 void clear ()
 清除算法状态。
 
虚函数 void save (const String &filename) const
 
void write (const Ptr< FileStorage > &fs, const String &name=String()) const
 
void write (FileStorage &fs, const String &name) const
 

静态公共成员函数

静态 Ptr< BEBLIDcreate (float scale_factor, int n_bits=BEBLID::SIZE_512_BITS)
 创建 BEBLID 描述符。
 
- 继承自 cv::Algorithm 的静态公共成员函数
模板<typename _Tp >
静态 Ptr< _Tpload (const String &filename, const String &objname=String())
 从文件中加载算法。
 
模板<typename _Tp >
静态 Ptr< _TploadFromString (const String &strModel, const String &objname=String())
 从字符串加载算法。
 
模板<typename _Tp >
静态 Ptr< _Tpread (const FileNode &fn)
 从文件节点读取算法。
 

继承的附加成员

- 从 cv::Algorithm 继承的受保护成员函数
void writeFormat (FileStorage &fs) const
 

详细描述

实现 BEBLID(基于提升的有效二进制局部图像描述符)的类,如 [256] 中所述。

BEBLID [256] 是一种使用提升学习的有效二进制描述符。只需更改 `scale_factor` 参数,即可描述任何检测器的关键点。在多个基准测试中,它被证明在效率相同的情况下,比其他二进制描述符(如 ORBBRISK)有了很大的改进。BEBLID 使用图像周围不同区域的平均灰度值差异进行描述,该描述符针对图像匹配和图像块检索进行了特别优化,解决了这些问题的非对称性。

如果您发现此代码有用,请引用以下论文:

Iago Suárez, Ghesn Sfeir, José M. Buenaposada, and Luis Baumela. BEBLID: Boosted efficient binary local image descriptor. Pattern Recognition Letters, 133:366–372, 2020.

该描述符使用来自 UBC 数据集 Liberty 分割的 100 万个随机采样图像块对(20% 正样本和 80% 负样本)进行训练 [298],如论文 [256] 中所述。您可以在 AKAZE 示例 中查看 BEBLID 的效果。使用 ORB 检测 10000 个关键点并使用 BEBLID 进行描述,可以得到 561 个内点 (75%),而使用 ORB 进行描述只能得到 493 个内点 (63%)。

成员枚举文档

◆ BeblidSize

描述符的比特数,每个比特都是一个提升弱学习器。用户可以选择 512 位或 256 位。

枚举器
SIZE_512_BITS 
SIZE_256_BITS 

成员函数文档

◆ create()

静态 Ptr< BEBLID > cv::xfeatures2d::BEBLID::create ( 浮点数 scale_factor,
整数 n_bits = BEBLID::SIZE_512_BITS )
静态
Python
cv.xfeatures2d.BEBLID.create(scale_factor[, n_bits]) -> retval
cv.xfeatures2d.BEBLID_create(scale_factor[, n_bits]) -> retval

创建 BEBLID 描述符。

参数
scale_factor调整检测到的关键点周围的采样窗口
  • 对于 ORB 关键点,比例应为 1.00f
  • 对于 SIFT 检测到的关键点,比例应为 6.75f
  • 默认值为 6.25f,适用于 KAZESURF 检测到的关键点
  • 对于 AKAZE、MSD、AGAST、FAST、BRISK 关键点,比例应为 5.00f
n_bits确定描述符中的比特数。应该是 BEBLID::SIZE_512_BITSBEBLID::SIZE_256_BITS

◆ getDefaultName()

String cv::xfeatures2d::BEBLID::getDefaultName ( ) const
虚函数
Python
cv.xfeatures2d.BEBLID.getDefaultName() -> retval

返回算法字符串标识符。将对象保存到文件或字符串时,此字符串用作顶级 xml/yml 节点标签。

cv::Feature2D 重实现。

◆ getScaleFactor()

虚拟 float cv::xfeatures2d::BEBLID::getScaleFactor ( ) const
纯虚函数
Python
cv.xfeatures2d.BEBLID.getScaleFactor() -> retval

◆ setScaleFactor()

虚拟 void cv::xfeatures2d::BEBLID::setScaleFactor ( 浮点数 scale_factor)
纯虚函数
Python
cv.xfeatures2d.BEBLID.setScaleFactor(scale_factor) ->

此类的文档是从以下文件生成的: