OpenCV 4.12.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 ()
 获取当前八度数。
 
int getReductionRatio ()
 获取当前缩减比率(用于高斯金字塔)
 
int getWidthOfBand ()
 获取当前波段宽度。
 
virtual void operator() (InputArray image, InputArray mask, std::vector< KeyLine > &keylines, OutputArray descriptors, bool useProvidedKeyLines=false, bool returnFloatDescr=false) const
 定义操作符 '()' 以执行 KeyLine 检测和描述符的顺序计算。
 
virtual void read (const cv::FileNode &fn) CV_OVERRIDE
 FileNode 对象读取参数并存储。
 
void setNumOfOctaves (int octaves)
 设置八度数。
 
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
保护虚函数

描述符计算的实现

◆ 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将存储一个或多个图像中提取的线条的向量集
遮罩掩码矩阵向量,用于从每个输入图像中仅检测感兴趣的 KeyLine

◆ detectImpl()

virtual void cv::line_descriptor::BinaryDescriptor::detectImpl ( const Mat & imageSrc,
std::vector< KeyLine > & keylines,
const Mat & mask = Mat() ) const
保护虚函数

线条检测的实现

◆ getNumOfOctaves()

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

获取当前八度数。

◆ 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()()

virtual void cv::line_descriptor::BinaryDescriptor::operator() ( InputArray image,
InputArray mask,
std::vector< KeyLine > & keylines,
OutputArray descriptors,
bool useProvidedKeyLines = false,
bool returnFloatDescr = false ) const
virtual

定义操作符 '()' 以执行 KeyLine 检测和描述符的顺序计算。

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

◆ read()

virtual void cv::line_descriptor::BinaryDescriptor::read ( const cv::FileNode & fn)
virtual

FileNode 对象读取参数并存储。

参数
fnFileNode 文件

重新实现自 cv::Algorithm

◆ setNumOfOctaves()

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

设置八度数。

参数
octaves八度数

◆ 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()

virtual void cv::line_descriptor::BinaryDescriptor::write ( cv::FileStorage & fs) const
virtual

将参数存储到 FileStorage 对象。

参数
fs输出 FileStorage 文件

重新实现自 cv::Algorithm


此类的文档生成自以下文件