OpenCV 4.11.0
开源计算机视觉
加载中…
搜索中…
无匹配项
cv::line_descriptor::BinaryDescriptor 类参考

该类实现了线条检测及其二进制描述符计算的功能。更多…

#include <opencv2/line_descriptor/descriptor.hpp>

cv::line_descriptor::BinaryDescriptor 的协作图

结构体 Params
 BinaryDescriptor 参数列表:更多…
 

公有成员函数

 BinaryDescriptor (const BinaryDescriptor::Params &parameters=BinaryDescriptor::Params())
 构造函数。
 
 ~BinaryDescriptor ()
 
void compute (const Mat &image, std::vector< KeyLine > &keylines, Mat &descriptors, bool returnFloatDescr=false) const
 需要描述符计算。
 
void compute (const std::vector< Mat > &images, std::vector< std::vector< KeyLine > > &keylines, std::vector< Mat > &descriptors, bool returnFloatDescr=false) const
 
int defaultNorm () const
 
int descriptorSize () const
 返回描述符大小。
 
int descriptorType () const
 返回数据类型。
 
void detect (const Mat &image, std::vector< KeyLine > &keypoints, const Mat &mask=Mat())
 需要线条检测。
 
void detect (const std::vector< Mat > &images, std::vector< std::vector< KeyLine > > &keylines, const std::vector< Mat > &masks=std::vector< Mat >()) const
 
int getNumOfOctaves ()
 获取当前的octave数。
 
int getReductionRatio ()
 获取当前的缩减比例(用于高斯金字塔)。
 
int getWidthOfBand ()
 获取当前的带宽度。
 
virtual void operator() (InputArray image, InputArray mask, std::vector< KeyLine > &keylines, OutputArray descriptors, bool useProvidedKeyLines=false, bool returnFloatDescr=false) const
 定义运算符 '()' 以连续执行 KeyLines 的检测和描述符的计算。
 
virtual void read (const cv::FileNode &fn) CV_OVERRIDE
 FileNode 对象读取参数并存储它们。
 
void setNumOfOctaves (int octaves)
 设置octave数。
 
void setReductionRatio (int rRatio)
 设置缩减比例(用于高斯金字塔)。
 
void setWidthOfBand (int width)
 设置带宽度。
 
virtual void write (cv::FileStorage &fs) const CV_OVERRIDE
 将参数存储到 FileStorage 对象。
 
- 从 cv::Algorithm 继承的公有成员函数
 Algorithm ()
 
virtual ~Algorithm ()
 
virtual void clear ()
 清除算法状态。
 
virtual bool empty () const
 如果 Algorithm 为空(例如,在开始时或读取不成功后),则返回 true。
 
virtual String getDefaultName () const
 
virtual 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
 

静态公有成员函数

static Ptr< BinaryDescriptorcreateBinaryDescriptor ()
 创建一个具有默认参数(或提供的参数)的 BinaryDescriptor 对象并返回指向它的智能指针。
 
static Ptr< BinaryDescriptorcreateBinaryDescriptor (Params parameters)
 
- 从 cv::Algorithm 继承的静态公有成员函数
template<typename _Tp >
static Ptr< _Tpload (const String &filename, const String &objname=String())
 从文件中加载算法。
 
template<typename _Tp >
static Ptr< _TploadFromString (const String &strModel, const String &objname=String())
 从字符串加载算法。
 
template<typename _Tp >
static Ptr< _Tpread (const FileNode &fn)
 从文件节点读取算法。
 

保护成员函数

virtual void computeImpl (const Mat &imageSrc, std::vector< KeyLine > &keylines, Mat &descriptors, bool returnFloatDescr, bool useDetectionData) const
 
virtual void detectImpl (const Mat &imageSrc, std::vector< KeyLine > &keylines, const Mat &mask=Mat()) const
 
- 继承自 cv::Algorithm 的保护成员函数
void writeFormat (FileStorage &fs) const
 

详细描述

该类实现了线段检测和二进制描述符计算的功能。

该类的接口主要基于经典检测器和提取器的接口,例如 Feature2d 的 特征检测和描述描述符匹配器。关于线段的检索信息存储在 line_descriptor::KeyLine 对象中。

构造函数和析构函数文档

◆ BinaryDescriptor()

cv::line_descriptor::BinaryDescriptor::BinaryDescriptor ( const BinaryDescriptor::Params & parameters = BinaryDescriptor::Params())

构造函数。

参数
parameters配置参数 BinaryDescriptor::Params

如果没有提供参数,构造函数将设置默认值(参见上一节代码段中的注释)。强烈推荐使用默认值。

◆ ~BinaryDescriptor()

cv::line_descriptor::BinaryDescriptor::~BinaryDescriptor ( )

析构函数

成员函数文档

◆ compute() [1/2]

void cv::line_descriptor::BinaryDescriptor::compute ( const Mat & image,
std::vector< KeyLine > & keylines,
Mat & descriptors,
bool returnFloatDescr = false ) const
Python
cv.line_descriptor.BinaryDescriptor.compute(image, keylines[, descriptors[, returnFloatDescr]]) -> keylines, descriptors

需要描述符计算。

参数
image输入图像
keylines包含需要计算描述符的线段的向量
descriptors
returnFloatDescr标志(设置为 true 时,返回原始非二进制描述符)

◆ compute() [2/2]

void cv::line_descriptor::BinaryDescriptor::compute ( const std::vector< Mat > & images,
std::vector< std::vector< KeyLine > > & keylines,
std::vector< Mat > & descriptors,
bool returnFloatDescr = false ) const
Python
cv.line_descriptor.BinaryDescriptor.compute(image, keylines[, descriptors[, returnFloatDescr]]) -> keylines, descriptors

这是一个重载的成员函数,为了方便提供。它与上面的函数的不同之处仅在于它接受的参数。

参数
images输入图像
keylines包含需要计算描述符的线段的向量集合
descriptors
returnFloatDescr标志(设置为 true 时,返回原始非二进制描述符)

◆ computeImpl()

virtual void cv::line_descriptor::BinaryDescriptor::computeImpl ( const Mat & imageSrc,
std::vector< KeyLine > & keylines,
Mat & descriptors,
bool returnFloatDescr,
bool useDetectionData ) const
protectedvirtual

描述符计算的实现

◆ createBinaryDescriptor() [1/2]

static Ptr< BinaryDescriptor > cv::line_descriptor::BinaryDescriptor::createBinaryDescriptor ( )
static
Python
cv.line_descriptor.BinaryDescriptor.createBinaryDescriptor() -> retval
cv.line_descriptor.BinaryDescriptor_createBinaryDescriptor() -> retval

创建一个具有默认参数(或提供的参数)的 BinaryDescriptor 对象并返回指向它的智能指针。

◆ createBinaryDescriptor() [2/2]

static Ptr< BinaryDescriptor > cv::line_descriptor::BinaryDescriptor::createBinaryDescriptor ( Params parameters)
static
Python
cv.line_descriptor.BinaryDescriptor.createBinaryDescriptor() -> retval
cv.line_descriptor.BinaryDescriptor_createBinaryDescriptor() -> retval

◆ defaultNorm()

int cv::line_descriptor::BinaryDescriptor::defaultNorm ( ) const

返回范数模式

◆ descriptorSize()

int cv::line_descriptor::BinaryDescriptor::descriptorSize ( ) const

返回描述符大小。

◆ descriptorType()

int cv::line_descriptor::BinaryDescriptor::descriptorType ( ) const

返回数据类型。

◆ detect() [1/2]

void cv::line_descriptor::BinaryDescriptor::detect ( const Mat & image,
std::vector< KeyLine > & keypoints,
const Mat & mask = Mat() )
Python
cv.line_descriptor.BinaryDescriptor.detect(image[, mask]) -> keypoints

需要线条检测。

参数
image输入图像
keypoints将存储一幅或多幅图像的提取线段的向量
mask掩码矩阵,用于仅检测感兴趣的 KeyLines

◆ detect() [2/2]

void cv::line_descriptor::BinaryDescriptor::detect ( const std::vector< Mat > & images,
std::vector< std::vector< KeyLine > > & keylines,
const std::vector< Mat > & masks = std::vector< Mat >() ) const
Python
cv.line_descriptor.BinaryDescriptor.detect(image[, mask]) -> keypoints

这是一个重载的成员函数,为了方便提供。它与上面的函数的不同之处仅在于它接受的参数。

参数
images输入图像
keylines将存储一幅或多幅图像的提取线段的向量集合
masks掩码矩阵向量,用于从每个输入图像中仅检测感兴趣的 KeyLines

◆ detectImpl()

virtual void cv::line_descriptor::BinaryDescriptor::detectImpl ( const Mat & imageSrc,
std::vector< KeyLine > & keylines,
const Mat & mask = Mat() ) const
protectedvirtual

线段检测的实现

◆ getNumOfOctaves()

int cv::line_descriptor::BinaryDescriptor::getNumOfOctaves ( )
Python
cv.line_descriptor.BinaryDescriptor.getNumOfOctaves() -> retval

获取当前的octave数。

◆ getReductionRatio()

int cv::line_descriptor::BinaryDescriptor::getReductionRatio ( )
Python
cv.line_descriptor.BinaryDescriptor.getReductionRatio() -> retval

获取当前的缩减比例(用于高斯金字塔)。

◆ getWidthOfBand()

int cv::line_descriptor::BinaryDescriptor::getWidthOfBand ( )
Python
cv.line_descriptor.BinaryDescriptor.getWidthOfBand() -> retval

获取当前的带宽度。

◆ operator()()

虚函数 void cv::line_descriptor::BinaryDescriptor::operator() ( 输入数组 image,
输入数组 mask,
std::vector< KeyLine > & keylines,
输出数组 descriptors,
bool useProvidedKeyLines = false,
bool returnFloatDescr = false ) const
虚函数

定义运算符 '()' 以连续执行 KeyLines 的检测和描述符的计算。

参数
image输入图像
mask掩码矩阵,用于选择KeyLines中哪些线段必须被接受(在keylines不为空时使用)
keylines包含输入线段的向量(如果已填充,则将跳过检测部分,并将输入线段作为计算描述符算法的输入)
descriptors将存储最终描述符的矩阵
useProvidedKeyLines标志(设置为true时,将跳过检测阶段,仅使用keylines中提供的线段计算描述符)
returnFloatDescr标志(设置为 true 时,返回原始非二进制描述符)

◆ read()

虚函数 void cv::line_descriptor::BinaryDescriptor::read ( const cv::FileNode & fn)
虚函数

FileNode 对象读取参数并存储它们。

参数
fnFileNode 文件

重载自 cv::Algorithm.

◆ setNumOfOctaves()

void cv::line_descriptor::BinaryDescriptor::setNumOfOctaves ( int octaves)
Python
cv.line_descriptor.BinaryDescriptor.setNumOfOctaves(octaves) ->

设置octave数。

参数
octavesOctave数量

◆ setReductionRatio()

void cv::line_descriptor::BinaryDescriptor::setReductionRatio ( int rRatio)
Python
cv.line_descriptor.BinaryDescriptor.setReductionRatio(rRatio) ->

设置缩减比例(用于高斯金字塔)。

参数
rRatio缩减比例

◆ setWidthOfBand()

void cv::line_descriptor::BinaryDescriptor::setWidthOfBand ( int width)
Python
cv.line_descriptor.BinaryDescriptor.setWidthOfBand(width) ->

设置带宽度。

参数
width带的宽度

◆ write()

虚函数 void cv::line_descriptor::BinaryDescriptor::write ( cv::FileStorage & fs) const
虚函数

将参数存储到 FileStorage 对象。

参数
fs输出 FileStorage 文件

重载自 cv::Algorithm.


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