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

Link to this section Summary

Types

t()

Type that represents an LineDescriptor.LSDDetector struct.

Functions

Clears the algorithm state

Creates ad LSDDetector object, using smart pointers.

createLSDDetectorWithParams

Detect lines inside an image.

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

getDefaultName

LSDDetectorWithParams

Reads algorithm parameters from a file storage

Stores algorithm parameters in a file storage

Link to this section Types

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

Type that represents an LineDescriptor.LSDDetector 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.LSDDetector.t()

Python prototype (for reference only):

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

Creates ad LSDDetector object, using smart pointers.

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

Python prototype (for reference only):

createLSDDetector() -> retval
Link to this function

createLSDDetectorWithParams(params)

View Source
@spec createLSDDetectorWithParams(Evision.LineDescriptor.LSDParam.t()) ::
  t() | {:error, String.t()}

createLSDDetectorWithParams

Positional Arguments
  • params: Evision.LineDescriptor.LSDParam.t()
Return
  • retval: Evision.LineDescriptor.LSDDetector.t()

Python prototype (for reference only):

createLSDDetectorWithParams(params) -> retval
Link to this function

detect(self, image, scale, numOctaves)

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

Detect lines inside an image.

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

  • image: Evision.Mat.t().

    input image

  • scale: int.

    scale factor used in pyramids generation

  • numOctaves: int.

    number of octaves inside pyramid

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, scale, numOctaves[, mask]) -> keypoints
Link to this function

detect(self, image, scale, numOctaves, opts)

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

Variant 1:

detect

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

  • images: [Evision.Mat].

    input images

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

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

  • scale: int.

    scale factor used in pyramids generation

  • numOctaves: int.

    number of octaves inside pyramid

Keyword Arguments
  • masks: [Evision.Mat].

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

Has overloading in C++

Python prototype (for reference only):

detect(images, keylines, scale, numOctaves[, masks]) -> None

Variant 2:

Detect lines inside an image.

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

  • image: Evision.Mat.t().

    input image

  • scale: int.

    scale factor used in pyramids generation

  • numOctaves: int.

    number of octaves inside pyramid

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, scale, numOctaves[, mask]) -> keypoints
Link to this function

detect(self, images, keylines, scale, numOctaves, opts)

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

detect

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

  • images: [Evision.Mat].

    input images

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

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

  • scale: int.

    scale factor used in pyramids generation

  • numOctaves: int.

    number of octaves inside pyramid

Keyword Arguments
  • masks: [Evision.Mat].

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

Has overloading in C++

Python prototype (for reference only):

detect(images, keylines, scale, numOctaves[, masks]) -> 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.LSDDetector.t()
Return
  • retval: bool

Python prototype (for reference only):

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

getDefaultName

Positional Arguments
  • self: Evision.LineDescriptor.LSDDetector.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 lSDDetector(Evision.LineDescriptor.LSDParam.t()) :: t() | {:error, String.t()}

LSDDetectorWithParams

Positional Arguments
  • params: Evision.LineDescriptor.LSDParam.t()
Return
  • self: Evision.LineDescriptor.LSDDetector.t()

Python prototype (for reference only):

LSDDetectorWithParams(_params) -> <line_descriptor_LSDDetector object>
@spec read(t(), Evision.FileNode.t()) :: t() | {:error, String.t()}

Reads algorithm parameters from a file storage

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

Has overloading in C++

Python prototype (for reference only):

write(fs, name) -> None