View Source Evision.XImgProc.StructuredEdgeDetection (Evision v0.1.37)

Summary

Types

t()

Type that represents an XImgProc.StructuredEdgeDetection struct.

Functions

Clears the algorithm state

The function computes orientation from edge image.

The function computes orientation from edge image.

The function detects edges in src and draw them to dst.

The function detects edges in src and draw them to dst.

The function edgenms in edge image and suppress edges where edge is stronger in orthogonal direction.

The function edgenms in edge image and suppress edges where edge is stronger in orthogonal direction.

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

getDefaultName

Reads algorithm parameters from a file storage

Stores algorithm parameters in a file storage

Types

@type t() :: %Evision.XImgProc.StructuredEdgeDetection{ref: reference()}

Type that represents an XImgProc.StructuredEdgeDetection struct.

  • ref. reference()

    The underlying erlang resource variable.

Functions

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

Clears the algorithm state

Positional Arguments
  • self: Evision.XImgProc.StructuredEdgeDetection.t()

Python prototype (for reference only):

clear() -> None
Link to this function

computeOrientation(self, src)

View Source
@spec computeOrientation(t(), Evision.Mat.maybe_mat_in()) ::
  Evision.Mat.t() | {:error, String.t()}

The function computes orientation from edge image.

Positional Arguments
  • self: Evision.XImgProc.StructuredEdgeDetection.t()

  • src: Evision.Mat.t().

    edge image.

Return
  • dst: Evision.Mat.t().

    orientation image.

Python prototype (for reference only):

computeOrientation(src[, dst]) -> dst
Link to this function

computeOrientation(self, src, opts)

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

The function computes orientation from edge image.

Positional Arguments
  • self: Evision.XImgProc.StructuredEdgeDetection.t()

  • src: Evision.Mat.t().

    edge image.

Return
  • dst: Evision.Mat.t().

    orientation image.

Python prototype (for reference only):

computeOrientation(src[, dst]) -> dst
@spec detectEdges(t(), Evision.Mat.maybe_mat_in()) ::
  Evision.Mat.t() | {:error, String.t()}

The function detects edges in src and draw them to dst.

Positional Arguments
  • self: Evision.XImgProc.StructuredEdgeDetection.t()

  • src: Evision.Mat.t().

    source image (RGB, float, in [0;1]) to detect edges

Return
  • dst: Evision.Mat.t().

    destination image (grayscale, float, in [0;1]) where edges are drawn

The algorithm underlies this function is much more robust to texture presence, than common approaches, e.g. Sobel @sa Sobel, Canny

Python prototype (for reference only):

detectEdges(src[, dst]) -> dst
Link to this function

detectEdges(self, src, opts)

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

The function detects edges in src and draw them to dst.

Positional Arguments
  • self: Evision.XImgProc.StructuredEdgeDetection.t()

  • src: Evision.Mat.t().

    source image (RGB, float, in [0;1]) to detect edges

Return
  • dst: Evision.Mat.t().

    destination image (grayscale, float, in [0;1]) where edges are drawn

The algorithm underlies this function is much more robust to texture presence, than common approaches, e.g. Sobel @sa Sobel, Canny

Python prototype (for reference only):

detectEdges(src[, dst]) -> dst
Link to this function

edgesNms(self, edge_image, orientation_image)

View Source
@spec edgesNms(t(), Evision.Mat.maybe_mat_in(), Evision.Mat.maybe_mat_in()) ::
  Evision.Mat.t() | {:error, String.t()}

The function edgenms in edge image and suppress edges where edge is stronger in orthogonal direction.

Positional Arguments
  • self: Evision.XImgProc.StructuredEdgeDetection.t()

  • edge_image: Evision.Mat.t().

    edge image from detectEdges function.

  • orientation_image: Evision.Mat.t().

    orientation image from computeOrientation function.

Keyword Arguments
  • r: int.

    radius for NMS suppression.

  • s: int.

    radius for boundary suppression.

  • m: float.

    multiplier for conservative suppression.

  • isParallel: bool.

    enables/disables parallel computing.

Return
  • dst: Evision.Mat.t().

    suppressed image (grayscale, float, in [0;1])

Python prototype (for reference only):

edgesNms(edge_image, orientation_image[, dst[, r[, s[, m[, isParallel]]]]]) -> dst
Link to this function

edgesNms(self, edge_image, orientation_image, opts)

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

The function edgenms in edge image and suppress edges where edge is stronger in orthogonal direction.

Positional Arguments
  • self: Evision.XImgProc.StructuredEdgeDetection.t()

  • edge_image: Evision.Mat.t().

    edge image from detectEdges function.

  • orientation_image: Evision.Mat.t().

    orientation image from computeOrientation function.

Keyword Arguments
  • r: int.

    radius for NMS suppression.

  • s: int.

    radius for boundary suppression.

  • m: float.

    multiplier for conservative suppression.

  • isParallel: bool.

    enables/disables parallel computing.

Return
  • dst: Evision.Mat.t().

    suppressed image (grayscale, float, in [0;1])

Python prototype (for reference only):

edgesNms(edge_image, orientation_image[, dst[, r[, s[, m[, isParallel]]]]]) -> dst
@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.XImgProc.StructuredEdgeDetection.t()
Return
  • retval: bool

Python prototype (for reference only):

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

getDefaultName

Positional Arguments
  • self: Evision.XImgProc.StructuredEdgeDetection.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 read(t(), Evision.FileNode.t()) :: t() | {:error, String.t()}

Reads algorithm parameters from a file storage

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

Has overloading in C++

Python prototype (for reference only):

write(fs, name) -> None