Class cv::line_descriptor::BinaryDescriptor#

Class implements both functionalities for detection of lines and computation of their binary descriptor. View details

Collaboration diagram for cv::line_descriptor::BinaryDescriptor:

Public Member Functions#

Public Member Functions inherited from cv::Algorithm

Return

Name

Description

Algorithm()

~Algorithm()

void

clear()

Clears the algorithm state.

bool

empty()

Returns true if the Algorithm is empty (e.g. in the very beginning or after unsuccessful read.

String

getDefaultName()

void

read(const FileNode & fn)

Reads algorithm parameters from a file storage.

void

save(const String & filename)

void

write(
    const Ptr< FileStorage > & fs,
    const String & name = String() )

void

write(FileStorage & fs)

Stores algorithm parameters in a file storage.

void

write(
    FileStorage & fs,
    const String & name )

Static Public Member Functions#

Static Public Member Functions inherited from cv::Algorithm

Return

Name

Description

static Ptr< _Tp >

load(
    const String & filename,
    const String & objname = String() )

Loads algorithm from the file.

static Ptr< _Tp >

loadFromString(
    const String & strModel,
    const String & objname = String() )

Loads algorithm from a String.

static Ptr< _Tp >

read(const FileNode & fn)

Reads algorithm from the file node.

Additional Inherited Members#

Protected Member Functions inherited from cv::Algorithm

Return

Name

Description

void

writeFormat(FileStorage & fs)

Detailed Description#

Class implements both functionalities for detection of lines and computation of their binary descriptor.

Class’ interface is mainly based on the ones of classical detectors and extractors, such as Feature2d’s Feature Detection and Description and Descriptor Matchers. Retrieved information about lines is stored in line_descriptor::KeyLine objects.

Member Typedef Documentation#

Lines_list#

typedef std::vector< SingleLine > cv::line_descriptor::BinaryDescriptor::Lines_list

LinesVec#

typedef std::vector< OctaveSingleLine > cv::line_descriptor::BinaryDescriptor::LinesVec

PixelChain#

typedef std::list< Pixel > cv::line_descriptor::BinaryDescriptor::PixelChain

ScaleLines#

typedef std::vector< LinesVec > cv::line_descriptor::BinaryDescriptor::ScaleLines

Constructor & Destructor Documentation#

BinaryDescriptor()#

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

Constructor.

If no argument is provided, constructor sets default values (see comments in the code snippet in previous section). Default values are strongly recommended.

Parameters

~BinaryDescriptor()#

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

destructor

Member Function Documentation#

compute()#

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

Python:

cv.line_descriptor.BinaryDescriptor.compute(image, keylines[, descriptors[, returnFloatDescr]]) -> keylines, descriptors

Requires descriptors computation.

Parameters

  • image — input image

  • keylines — vector containing lines for which descriptors must be computed

  • descriptors

  • returnFloatDescr — flag (when set to true, original non-binary descriptors are returned)

compute()#

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

Python:

cv.line_descriptor.BinaryDescriptor.compute(image, keylines[, descriptors[, returnFloatDescr]]) -> keylines, descriptors

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Parameters

  • images — input images

  • keylines — set of vectors containing lines for which descriptors must be computed

  • descriptors

  • returnFloatDescr — flag (when set to true, original non-binary descriptors are returned)

defaultNorm()#

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

returns norm mode

descriptorSize()#

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

Return descriptor size.

descriptorType()#

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

Return data type.

detect()#

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

Requires line detection.

Parameters

  • image — input image

  • keypoints — vector that will store extracted lines for one or more images

  • mask — mask matrix to detect only KeyLines of interest

detect()#

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

Python:

cv.line_descriptor.BinaryDescriptor.detect(image[, mask]) -> keypoints

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Parameters

  • images — input images

  • keylines — set of vectors that will store extracted lines for one or more images

  • masks — vector of mask matrices to detect only KeyLines of interest from each input image

getNumOfOctaves()#

int cv::line_descriptor::BinaryDescriptor::getNumOfOctaves()

Python:

cv.line_descriptor.BinaryDescriptor.getNumOfOctaves() -> retval

Get current number of octaves.

getReductionRatio()#

int cv::line_descriptor::BinaryDescriptor::getReductionRatio()

Python:

cv.line_descriptor.BinaryDescriptor.getReductionRatio() -> retval

Get current reduction ratio (used in Gaussian pyramids)

getWidthOfBand()#

int cv::line_descriptor::BinaryDescriptor::getWidthOfBand()

Python:

cv.line_descriptor.BinaryDescriptor.getWidthOfBand() -> retval

Get current width of bands.

operator()()#

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

Define operator ‘()’ to perform detection of KeyLines and computation of descriptors in a row.

Parameters

  • image — input image

  • mask — mask matrix to select which lines in KeyLines must be accepted among the ones extracted (used when keylines is not empty)

  • keylines — vector that contains input lines (when filled, the detection part will be skipped and input lines will be passed as input to the algorithm computing descriptors)

  • descriptors — matrix that will store final descriptors

  • useProvidedKeyLines — flag (when set to true, detection phase will be skipped and only computation of descriptors will be executed, using lines provided in keylines)

  • returnFloatDescr — flag (when set to true, original non-binary descriptors are returned)

read()#

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

Read parameters from a FileNode object and store them.

Parameters

setNumOfOctaves()#

void cv::line_descriptor::BinaryDescriptor::setNumOfOctaves(int octaves)

Python:

cv.line_descriptor.BinaryDescriptor.setNumOfOctaves(octaves)

Set number of octaves.

Parameters

  • octaves — number of octaves

setReductionRatio()#

void cv::line_descriptor::BinaryDescriptor::setReductionRatio(int rRatio)

Python:

cv.line_descriptor.BinaryDescriptor.setReductionRatio(rRatio)

Set reduction ratio (used in Gaussian pyramids)

Parameters

  • rRatio — reduction ratio

setWidthOfBand()#

void cv::line_descriptor::BinaryDescriptor::setWidthOfBand(int width)

Python:

cv.line_descriptor.BinaryDescriptor.setWidthOfBand(width)

Set width of bands.

Parameters

  • width — width of bands

write()#

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

Store parameters to a FileStorage object.

Parameters

createBinaryDescriptor()#

static Ptr< BinaryDescriptor > cv::line_descriptor::BinaryDescriptor::createBinaryDescriptor()

Python:

cv.line_descriptor.BinaryDescriptor.createBinaryDescriptor() -> retval
cv.line_descriptor.BinaryDescriptor_createBinaryDescriptor() -> retval

Create a BinaryDescriptor object with default parameters (or with the ones provided) and return a smart pointer to it.

createBinaryDescriptor()#

static Ptr< BinaryDescriptor > cv::line_descriptor::BinaryDescriptor::createBinaryDescriptor(Params parameters)

Python:

cv.line_descriptor.BinaryDescriptor.createBinaryDescriptor() -> retval
cv.line_descriptor.BinaryDescriptor_createBinaryDescriptor() -> retval

computeImpl()#

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

implementation of descriptors’ computation

detectImpl()#

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

implementation of line detection

binaryConversion()#

unsigned char cv::line_descriptor::BinaryDescriptor::binaryConversion(
float * f1,
float * f2 )

computeGaussianPyramid()#

void cv::line_descriptor::BinaryDescriptor::computeGaussianPyramid(
const Mat & image,
const int numOctaves )

computeLBD()#

int cv::line_descriptor::BinaryDescriptor::computeLBD(
ScaleLines & keyLines,
bool useDetectionData = false )

computeSobel()#

void cv::line_descriptor::BinaryDescriptor::computeSobel(
const Mat & image,
const int numOctaves )

OctaveKeyLines()#

int cv::line_descriptor::BinaryDescriptor::OctaveKeyLines(
cv::Mat & image,
ScaleLines & keyLines )

Member Data Documentation#

dxImg_vector#

std::vector< cv::Mat > cv::line_descriptor::BinaryDescriptor::dxImg_vector

dyImg_vector#

std::vector< cv::Mat > cv::line_descriptor::BinaryDescriptor::dyImg_vector

edLineVec_#

std::vector< Ptr< EDLineDetector > > cv::line_descriptor::BinaryDescriptor::edLineVec_

gaussCoefG_#

std::vector< double > cv::line_descriptor::BinaryDescriptor::gaussCoefG_

gaussCoefL_#

std::vector< double > cv::line_descriptor::BinaryDescriptor::gaussCoefL_

images_sizes#

std::vector< cv::Size > cv::line_descriptor::BinaryDescriptor::images_sizes

octaveImages#

std::vector< cv::Mat > cv::line_descriptor::BinaryDescriptor::octaveImages

params#

Params cv::line_descriptor::BinaryDescriptor::params

Source file#

The documentation for this class was generated from the following file: