View Source Evision.LineDescriptor.BinaryDescriptorMatcher (Evision v0.1.28)

Link to this section Summary

Types

t()

Type that represents an LineDescriptor.BinaryDescriptorMatcher struct.

Functions

Clears the algorithm state

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

getDefaultName

For every input query descriptor, retrieve the best k matching ones from a dataset provided from user or from the one internal to class

For every input query descriptor, retrieve the best k matching ones from a dataset provided from user or from the one internal to class

For every input query descriptor, retrieve the best matching one from a dataset provided from user or from the one internal to class

For every input query descriptor, retrieve the best matching one from a dataset provided from user or from the one internal to class

Reads algorithm parameters from a file storage

Stores algorithm parameters in a file storage

Link to this section Types

@type t() :: %Evision.LineDescriptor.BinaryDescriptorMatcher{ref: reference()}

Type that represents an LineDescriptor.BinaryDescriptorMatcher struct.

  • ref. reference()

    The underlying erlang resource variable.

Link to this section Functions

Link to this function

binaryDescriptorMatcher()

View Source
@spec binaryDescriptorMatcher() :: t() | {:error, String.t()}

Constructor.

Return
  • self: Evision.LineDescriptor.BinaryDescriptorMatcher.t()

The BinaryDescriptorMatcher constructed is able to store and manage 256-bits long entries.

Python prototype (for reference only):

BinaryDescriptorMatcher() -> <line_descriptor_BinaryDescriptorMatcher object>
@spec clear(t()) :: t() | {:error, String.t()}

Clears the algorithm state

Positional Arguments
  • self: Evision.LineDescriptor.BinaryDescriptorMatcher.t()

Python prototype (for reference only):

clear() -> None
@spec empty(t()) :: boolean() | {:error, String.t()}

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

Positional Arguments
  • self: Evision.LineDescriptor.BinaryDescriptorMatcher.t()
Return
  • retval: bool

Python prototype (for reference only):

empty() -> retval
@spec getDefaultName(t()) :: binary() | {:error, String.t()}

getDefaultName

Positional Arguments
  • self: Evision.LineDescriptor.BinaryDescriptorMatcher.t()
Return

Returns the algorithm string identifier. This string is used as top level xml/yml node tag when the object is saved to a file or string.

Python prototype (for reference only):

getDefaultName() -> retval
Link to this function

knnMatch(self, queryDescriptors, trainDescriptors, k)

View Source
@spec knnMatch(t(), Evision.Mat.maybe_mat_in(), Evision.Mat.maybe_mat_in(), integer()) ::
  [[Evision.DMatch.t()]] | {:error, String.t()}

For every input query descriptor, retrieve the best k matching ones from a dataset provided from user or from the one internal to class

Positional Arguments
  • self: Evision.LineDescriptor.BinaryDescriptorMatcher.t()

  • queryDescriptors: Evision.Mat.t().

    query descriptors

  • trainDescriptors: Evision.Mat.t().

    dataset of descriptors furnished by user

  • k: int.

    number of the closest descriptors to be returned for every input query

Keyword Arguments
  • mask: Evision.Mat.t().

    mask to select which input descriptors must be matched to ones in dataset

  • compactResult: bool.

    flag to obtain a compact result (if true, a vector that doesn't contain any matches for a given query is not inserted in final result)

Return
  • matches: [[Evision.DMatch]].

    vector to host retrieved matches

Python prototype (for reference only):

knnMatch(queryDescriptors, trainDescriptors, k[, mask[, compactResult]]) -> matches
Link to this function

knnMatch(self, queryDescriptors, trainDescriptors, k, opts)

View Source
@spec knnMatch(
  t(),
  Evision.Mat.maybe_mat_in(),
  Evision.Mat.maybe_mat_in(),
  integer(),
  [{atom(), term()}, ...] | nil
) :: [[Evision.DMatch.t()]] | {:error, String.t()}

For every input query descriptor, retrieve the best k matching ones from a dataset provided from user or from the one internal to class

Positional Arguments
  • self: Evision.LineDescriptor.BinaryDescriptorMatcher.t()

  • queryDescriptors: Evision.Mat.t().

    query descriptors

  • trainDescriptors: Evision.Mat.t().

    dataset of descriptors furnished by user

  • k: int.

    number of the closest descriptors to be returned for every input query

Keyword Arguments
  • mask: Evision.Mat.t().

    mask to select which input descriptors must be matched to ones in dataset

  • compactResult: bool.

    flag to obtain a compact result (if true, a vector that doesn't contain any matches for a given query is not inserted in final result)

Return
  • matches: [[Evision.DMatch]].

    vector to host retrieved matches

Python prototype (for reference only):

knnMatch(queryDescriptors, trainDescriptors, k[, mask[, compactResult]]) -> matches
Link to this function

knnMatchQuery(self, queryDescriptors, matches, k)

View Source
@spec knnMatchQuery(
  t(),
  Evision.Mat.maybe_mat_in(),
  [[Evision.DMatch.t()]],
  integer()
) ::
  t() | {:error, String.t()}

knnMatchQuery

Positional Arguments
  • self: Evision.LineDescriptor.BinaryDescriptorMatcher.t()

  • queryDescriptors: Evision.Mat.t().

    query descriptors

  • matches: [[Evision.DMatch]].

    vector to host retrieved matches

  • k: int.

    number of the closest descriptors to be returned for every input query

Keyword Arguments
  • masks: [Evision.Mat].

    vector of masks to select which input descriptors must be matched to ones in dataset (the i-th mask in vector indicates whether each input query can be matched with descriptors in dataset relative to i-th image)

  • compactResult: bool.

    flag to obtain a compact result (if true, a vector that doesn't contain any matches for a given query is not inserted in final result)

Has overloading in C++

Python prototype (for reference only):

knnMatchQuery(queryDescriptors, matches, k[, masks[, compactResult]]) -> None
Link to this function

knnMatchQuery(self, queryDescriptors, matches, k, opts)

View Source
@spec knnMatchQuery(
  t(),
  Evision.Mat.maybe_mat_in(),
  [[Evision.DMatch.t()]],
  integer(),
  [{atom(), term()}, ...] | nil
) :: t() | {:error, String.t()}

knnMatchQuery

Positional Arguments
  • self: Evision.LineDescriptor.BinaryDescriptorMatcher.t()

  • queryDescriptors: Evision.Mat.t().

    query descriptors

  • matches: [[Evision.DMatch]].

    vector to host retrieved matches

  • k: int.

    number of the closest descriptors to be returned for every input query

Keyword Arguments
  • masks: [Evision.Mat].

    vector of masks to select which input descriptors must be matched to ones in dataset (the i-th mask in vector indicates whether each input query can be matched with descriptors in dataset relative to i-th image)

  • compactResult: bool.

    flag to obtain a compact result (if true, a vector that doesn't contain any matches for a given query is not inserted in final result)

Has overloading in C++

Python prototype (for reference only):

knnMatchQuery(queryDescriptors, matches, k[, masks[, compactResult]]) -> None
Link to this function

match(self, queryDescriptors, trainDescriptors)

View Source

For every input query descriptor, retrieve the best matching one from a dataset provided from user or from the one internal to class

Positional Arguments
  • self: Evision.LineDescriptor.BinaryDescriptorMatcher.t()

  • queryDescriptors: Evision.Mat.t().

    query descriptors

  • trainDescriptors: Evision.Mat.t().

    dataset of descriptors furnished by user

Keyword Arguments
  • mask: Evision.Mat.t().

    mask to select which input descriptors must be matched to one in dataset

Return
  • matches: [Evision.DMatch].

    vector to host retrieved matches

Python prototype (for reference only):

match(queryDescriptors, trainDescriptors[, mask]) -> matches
Link to this function

match(self, queryDescriptors, trainDescriptors, opts)

View Source
@spec match(
  t(),
  Evision.Mat.maybe_mat_in(),
  Evision.Mat.maybe_mat_in(),
  [{atom(), term()}, ...] | nil
) ::
  [Evision.DMatch.t()] | {:error, String.t()}

For every input query descriptor, retrieve the best matching one from a dataset provided from user or from the one internal to class

Positional Arguments
  • self: Evision.LineDescriptor.BinaryDescriptorMatcher.t()

  • queryDescriptors: Evision.Mat.t().

    query descriptors

  • trainDescriptors: Evision.Mat.t().

    dataset of descriptors furnished by user

Keyword Arguments
  • mask: Evision.Mat.t().

    mask to select which input descriptors must be matched to one in dataset

Return
  • matches: [Evision.DMatch].

    vector to host retrieved matches

Python prototype (for reference only):

match(queryDescriptors, trainDescriptors[, mask]) -> matches
Link to this function

matchQuery(self, queryDescriptors)

View Source
@spec matchQuery(t(), Evision.Mat.maybe_mat_in()) ::
  [Evision.DMatch.t()] | {:error, String.t()}

matchQuery

Positional Arguments
  • self: Evision.LineDescriptor.BinaryDescriptorMatcher.t()

  • queryDescriptors: Evision.Mat.t().

    query descriptors

Keyword Arguments
  • masks: [Evision.Mat].

    vector of masks to select which input descriptors must be matched to one in dataset (the i-th mask in vector indicates whether each input query can be matched with descriptors in dataset relative to i-th image)

Return
  • matches: [Evision.DMatch].

    vector to host retrieved matches

Has overloading in C++

Python prototype (for reference only):

matchQuery(queryDescriptors[, masks]) -> matches
Link to this function

matchQuery(self, queryDescriptors, opts)

View Source
@spec matchQuery(t(), Evision.Mat.maybe_mat_in(), [{atom(), term()}, ...] | nil) ::
  [Evision.DMatch.t()] | {:error, String.t()}

matchQuery

Positional Arguments
  • self: Evision.LineDescriptor.BinaryDescriptorMatcher.t()

  • queryDescriptors: Evision.Mat.t().

    query descriptors

Keyword Arguments
  • masks: [Evision.Mat].

    vector of masks to select which input descriptors must be matched to one in dataset (the i-th mask in vector indicates whether each input query can be matched with descriptors in dataset relative to i-th image)

Return
  • matches: [Evision.DMatch].

    vector to host retrieved matches

Has overloading in C++

Python prototype (for reference only):

matchQuery(queryDescriptors[, masks]) -> matches
@spec read(t(), Evision.FileNode.t()) :: t() | {:error, String.t()}

Reads algorithm parameters from a file storage

Positional Arguments
  • self: Evision.LineDescriptor.BinaryDescriptorMatcher.t()
  • fn_: Evision.FileNode.t()

Python prototype (for reference only):

read(fn_) -> None
@spec save(t(), binary()) :: t() | {:error, String.t()}

save

Positional Arguments
  • self: Evision.LineDescriptor.BinaryDescriptorMatcher.t()
  • filename: String

Saves the algorithm to a file. In order to make this method work, the derived class must implement Algorithm::write(FileStorage& fs).

Python prototype (for reference only):

save(filename) -> None
@spec write(t(), Evision.FileStorage.t()) :: t() | {:error, String.t()}

Stores algorithm parameters in a file storage

Positional Arguments
  • self: Evision.LineDescriptor.BinaryDescriptorMatcher.t()
  • fs: Evision.FileStorage.t()

Python prototype (for reference only):

write(fs) -> None
@spec write(t(), Evision.FileStorage.t(), binary()) :: t() | {:error, String.t()}

write

Positional Arguments
  • self: Evision.LineDescriptor.BinaryDescriptorMatcher.t()
  • fs: Evision.FileStorage.t()
  • name: String

Has overloading in C++

Python prototype (for reference only):

write(fs, name) -> None