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

Link to this section Summary

Types

t()

Type that represents an LineDescriptor.BinaryDescriptor struct.

Functions

Clears the algorithm state

Requires descriptors computation

Requires descriptors computation

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

Requires line detection

Requires line detection

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

getDefaultName

Get current number of octaves

Get current reduction ratio (used in Gaussian pyramids)

Get current width of bands

Reads algorithm parameters from a file storage

Set number of octaves

Set reduction ratio (used in Gaussian pyramids)

Set width of bands

Stores algorithm parameters in a file storage

Link to this section Types

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

Type that represents an LineDescriptor.BinaryDescriptor struct.

  • ref. reference()

    The underlying erlang resource variable.

Link to this section Functions

@spec clear(t()) :: t() | {:error, String.t()}

Clears the algorithm state

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

Python prototype (for reference only):

clear() -> None
Link to this function

compute(self, image, keylines)

View Source
@spec compute(t(), Evision.Mat.maybe_mat_in(), [
  Evision.LineDescriptor.BinaryDescriptor.KeyLine.t()
]) ::
  {[Evision.LineDescriptor.BinaryDescriptor.KeyLine.t()], Evision.Mat.t()}
  | {:error, String.t()}

Requires descriptors computation

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

  • image: Evision.Mat.t().

    input image

Keyword Arguments
  • returnFloatDescr: bool.

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

Return
  • keylines: [Evision.LineDescriptor.BinaryDescriptor.KeyLine].

    vector containing lines for which descriptors must be computed

  • descriptors: Evision.Mat.t().

Python prototype (for reference only):

compute(image, keylines[, descriptors[, returnFloatDescr]]) -> keylines, descriptors
Link to this function

compute(self, image, keylines, opts)

View Source
@spec compute(
  t(),
  Evision.Mat.maybe_mat_in(),
  [Evision.LineDescriptor.BinaryDescriptor.KeyLine.t()],
  [{atom(), term()}, ...] | nil
) ::
  {[Evision.LineDescriptor.BinaryDescriptor.KeyLine.t()], Evision.Mat.t()}
  | {:error, String.t()}

Requires descriptors computation

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

  • image: Evision.Mat.t().

    input image

Keyword Arguments
  • returnFloatDescr: bool.

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

Return
  • keylines: [Evision.LineDescriptor.BinaryDescriptor.KeyLine].

    vector containing lines for which descriptors must be computed

  • descriptors: Evision.Mat.t().

Python prototype (for reference only):

compute(image, keylines[, descriptors[, returnFloatDescr]]) -> keylines, descriptors
Link to this function

createBinaryDescriptor()

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

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

Return
  • retval: Evision.LineDescriptor.BinaryDescriptor.t()

Python prototype (for reference only):

createBinaryDescriptor() -> retval
@spec detect(t(), Evision.Mat.maybe_mat_in()) ::
  [Evision.LineDescriptor.BinaryDescriptor.KeyLine.t()] | {:error, String.t()}

Requires line detection

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

  • image: Evision.Mat.t().

    input image

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

    mask matrix to detect only KeyLines of interest

Return
  • keypoints: [Evision.LineDescriptor.BinaryDescriptor.KeyLine].

    vector that will store extracted lines for one or more images

Python prototype (for reference only):

detect(image[, mask]) -> keypoints
Link to this function

detect(self, image, opts)

View Source
@spec detect(t(), Evision.Mat.maybe_mat_in(), [{atom(), term()}, ...] | nil) ::
  [Evision.LineDescriptor.BinaryDescriptor.KeyLine.t()] | {:error, String.t()}

Requires line detection

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

  • image: Evision.Mat.t().

    input image

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

    mask matrix to detect only KeyLines of interest

Return
  • keypoints: [Evision.LineDescriptor.BinaryDescriptor.KeyLine].

    vector that will store extracted lines for one or more images

Python prototype (for reference only):

detect(image[, mask]) -> keypoints
@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.BinaryDescriptor.t()
Return
  • retval: bool

Python prototype (for reference only):

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

getDefaultName

Positional Arguments
  • self: Evision.LineDescriptor.BinaryDescriptor.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
@spec getNumOfOctaves(t()) :: integer() | {:error, String.t()}

Get current number of octaves

Positional Arguments
  • self: Evision.LineDescriptor.BinaryDescriptor.t()
Return
  • retval: int

Python prototype (for reference only):

getNumOfOctaves() -> retval
@spec getReductionRatio(t()) :: integer() | {:error, String.t()}

Get current reduction ratio (used in Gaussian pyramids)

Positional Arguments
  • self: Evision.LineDescriptor.BinaryDescriptor.t()
Return
  • retval: int

Python prototype (for reference only):

getReductionRatio() -> retval
@spec getWidthOfBand(t()) :: integer() | {:error, String.t()}

Get current width of bands

Positional Arguments
  • self: Evision.LineDescriptor.BinaryDescriptor.t()
Return
  • retval: int

Python prototype (for reference only):

getWidthOfBand() -> retval
@spec read(t(), Evision.FileNode.t()) :: t() | {:error, String.t()}

Reads algorithm parameters from a file storage

Positional Arguments
  • self: Evision.LineDescriptor.BinaryDescriptor.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.BinaryDescriptor.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
Link to this function

setNumOfOctaves(self, octaves)

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

Set number of octaves

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

  • octaves: int.

    number of octaves

Python prototype (for reference only):

setNumOfOctaves(octaves) -> None
Link to this function

setReductionRatio(self, rRatio)

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

Set reduction ratio (used in Gaussian pyramids)

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

  • rRatio: int.

    reduction ratio

Python prototype (for reference only):

setReductionRatio(rRatio) -> None
Link to this function

setWidthOfBand(self, width)

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

Set width of bands

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

  • width: int.

    width of bands

Python prototype (for reference only):

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

Stores algorithm parameters in a file storage

Positional Arguments
  • self: Evision.LineDescriptor.BinaryDescriptor.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.BinaryDescriptor.t()
  • fs: Evision.FileStorage.t()
  • name: String

Has overloading in C++

Python prototype (for reference only):

write(fs, name) -> None