View Source Evision.MSER (Evision v0.1.21)

Link to this section Summary

Types

t()

Type that represents an Evision.MSER struct.

Functions

Full constructor for %MSER detector

Full constructor for %MSER detector

defaultNorm

descriptorSize

descriptorType

Variant 1:

detect

Variant 1:

detect

Detect %MSER regions

empty

getDefaultName

getDelta

getMaxArea

getMinArea

getPass2Only

Variant 1:

read

setPass2Only

Variant 1:

write

Link to this section Types

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

Type that represents an Evision.MSER struct.

  • ref. reference()

    The underlying erlang resource variable.

Link to this section Functions

Link to this function

compute(self, images, keypoints)

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

Variant 1:

compute

Positional Arguments
  • self: Evision.MSER.t()

  • images: [Evision.Mat].

    Image set.

Return
  • keypoints: [[Evision.KeyPoint]].

    Input collection of keypoints. Keypoints for which a descriptor cannot be computed are removed. Sometimes new keypoints can be added, for example: SIFT duplicates keypoint with several dominant orientations (for each orientation).

  • descriptors: [Evision.Mat].

    Computed descriptors. In the second variant of the method descriptors[i] are descriptors computed for a keypoints[i]. Row j is the keypoints (or keypoints[i]) is the descriptor for keypoint j-th keypoint.

Has overloading in C++

Python prototype (for reference only):

compute(images, keypoints[, descriptors]) -> keypoints, descriptors

Variant 2:

Computes the descriptors for a set of keypoints detected in an image (first variant) or image set (second variant).

Positional Arguments
Return
  • keypoints: [Evision.KeyPoint].

    Input collection of keypoints. Keypoints for which a descriptor cannot be computed are removed. Sometimes new keypoints can be added, for example: SIFT duplicates keypoint with several dominant orientations (for each orientation).

  • descriptors: Evision.Mat.

    Computed descriptors. In the second variant of the method descriptors[i] are descriptors computed for a keypoints[i]. Row j is the keypoints (or keypoints[i]) is the descriptor for keypoint j-th keypoint.

Python prototype (for reference only):

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

compute(self, images, keypoints, opts)

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

Variant 1:

compute

Positional Arguments
  • self: Evision.MSER.t()

  • images: [Evision.Mat].

    Image set.

Return
  • keypoints: [[Evision.KeyPoint]].

    Input collection of keypoints. Keypoints for which a descriptor cannot be computed are removed. Sometimes new keypoints can be added, for example: SIFT duplicates keypoint with several dominant orientations (for each orientation).

  • descriptors: [Evision.Mat].

    Computed descriptors. In the second variant of the method descriptors[i] are descriptors computed for a keypoints[i]. Row j is the keypoints (or keypoints[i]) is the descriptor for keypoint j-th keypoint.

Has overloading in C++

Python prototype (for reference only):

compute(images, keypoints[, descriptors]) -> keypoints, descriptors

Variant 2:

Computes the descriptors for a set of keypoints detected in an image (first variant) or image set (second variant).

Positional Arguments
Return
  • keypoints: [Evision.KeyPoint].

    Input collection of keypoints. Keypoints for which a descriptor cannot be computed are removed. Sometimes new keypoints can be added, for example: SIFT duplicates keypoint with several dominant orientations (for each orientation).

  • descriptors: Evision.Mat.

    Computed descriptors. In the second variant of the method descriptors[i] are descriptors computed for a keypoints[i]. Row j is the keypoints (or keypoints[i]) is the descriptor for keypoint j-th keypoint.

Python prototype (for reference only):

compute(image, keypoints[, descriptors]) -> keypoints, descriptors
@spec create() :: t() | {:error, String.t()}

Full constructor for %MSER detector

Keyword Arguments
  • delta: int.

    it compares \f$(size{i}-size{i-delta})/size_{i-delta}\f$

  • min_area: int.

    prune the area which smaller than minArea

  • max_area: int.

    prune the area which bigger than maxArea

  • max_variation: double.

    prune the area have similar size to its children

  • min_diversity: double.

    for color image, trace back to cut off mser with diversity less than min_diversity

  • max_evolution: int.

    for color image, the evolution steps

  • area_threshold: double.

    for color image, the area threshold to cause re-initialize

  • min_margin: double.

    for color image, ignore too small margin

  • edge_blur_size: int.

    for color image, the aperture size for edge blur

Return

Python prototype (for reference only):

create([, delta[, min_area[, max_area[, max_variation[, min_diversity[, max_evolution[, area_threshold[, min_margin[, edge_blur_size]]]]]]]]]) -> retval
@spec create([{atom(), term()}, ...] | nil) :: t() | {:error, String.t()}

Full constructor for %MSER detector

Keyword Arguments
  • delta: int.

    it compares \f$(size{i}-size{i-delta})/size_{i-delta}\f$

  • min_area: int.

    prune the area which smaller than minArea

  • max_area: int.

    prune the area which bigger than maxArea

  • max_variation: double.

    prune the area have similar size to its children

  • min_diversity: double.

    for color image, trace back to cut off mser with diversity less than min_diversity

  • max_evolution: int.

    for color image, the evolution steps

  • area_threshold: double.

    for color image, the area threshold to cause re-initialize

  • min_margin: double.

    for color image, ignore too small margin

  • edge_blur_size: int.

    for color image, the aperture size for edge blur

Return

Python prototype (for reference only):

create([, delta[, min_area[, max_area[, max_variation[, min_diversity[, max_evolution[, area_threshold[, min_margin[, edge_blur_size]]]]]]]]]) -> retval
@spec defaultNorm(t()) :: integer() | {:error, String.t()}

defaultNorm

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

Python prototype (for reference only):

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

descriptorSize

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

Python prototype (for reference only):

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

descriptorType

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

Python prototype (for reference only):

descriptorType() -> retval
@spec detect(t(), [Evision.Mat.maybe_mat_in()]) ::
  [[Evision.KeyPoint.t()]] | {:error, String.t()}
@spec detect(t(), Evision.Mat.maybe_mat_in()) ::
  [Evision.KeyPoint.t()] | {:error, String.t()}

Variant 1:

detect

Positional Arguments
  • self: Evision.MSER.t()

  • images: [Evision.Mat].

    Image set.

Keyword Arguments
  • masks: [Evision.Mat].

    Masks for each input image specifying where to look for keypoints (optional). masks[i] is a mask for images[i].

Return
  • keypoints: [[Evision.KeyPoint]].

    The detected keypoints. In the second variant of the method keypoints[i] is a set of keypoints detected in images[i] .

Has overloading in C++

Python prototype (for reference only):

detect(images[, masks]) -> keypoints

Variant 2:

Detects keypoints in an image (first variant) or image set (second variant).

Positional Arguments
Keyword Arguments
  • mask: Evision.Mat.

    Mask specifying where to look for keypoints (optional). It must be a 8-bit integer matrix with non-zero values in the region of interest.

Return
  • keypoints: [Evision.KeyPoint].

    The detected keypoints. In the second variant of the method keypoints[i] is a set of keypoints detected in images[i] .

Python prototype (for reference only):

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

detect(self, images, opts)

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

Variant 1:

detect

Positional Arguments
  • self: Evision.MSER.t()

  • images: [Evision.Mat].

    Image set.

Keyword Arguments
  • masks: [Evision.Mat].

    Masks for each input image specifying where to look for keypoints (optional). masks[i] is a mask for images[i].

Return
  • keypoints: [[Evision.KeyPoint]].

    The detected keypoints. In the second variant of the method keypoints[i] is a set of keypoints detected in images[i] .

Has overloading in C++

Python prototype (for reference only):

detect(images[, masks]) -> keypoints

Variant 2:

Detects keypoints in an image (first variant) or image set (second variant).

Positional Arguments
Keyword Arguments
  • mask: Evision.Mat.

    Mask specifying where to look for keypoints (optional). It must be a 8-bit integer matrix with non-zero values in the region of interest.

Return
  • keypoints: [Evision.KeyPoint].

    The detected keypoints. In the second variant of the method keypoints[i] is a set of keypoints detected in images[i] .

Python prototype (for reference only):

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

detectAndCompute(self, image, mask)

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

detectAndCompute

Positional Arguments
Keyword Arguments
  • useProvidedKeypoints: bool.
Return

Detects keypoints and computes the descriptors

Python prototype (for reference only):

detectAndCompute(image, mask[, descriptors[, useProvidedKeypoints]]) -> keypoints, descriptors
Link to this function

detectAndCompute(self, image, mask, opts)

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

detectAndCompute

Positional Arguments
Keyword Arguments
  • useProvidedKeypoints: bool.
Return

Detects keypoints and computes the descriptors

Python prototype (for reference only):

detectAndCompute(image, mask[, descriptors[, useProvidedKeypoints]]) -> keypoints, descriptors
Link to this function

detectRegions(self, image)

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

Detect %MSER regions

Positional Arguments
  • self: Evision.MSER.t()

  • image: Evision.Mat.

    input image (8UC1, 8UC3 or 8UC4, must be greater or equal than 3x3)

Return
  • msers: [[Point]].

    resulting list of point sets

  • bboxes: [Rect].

    resulting bounding boxes

Python prototype (for reference only):

detectRegions(image) -> msers, bboxes
@spec empty(t()) :: boolean() | {:error, String.t()}

empty

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

Python prototype (for reference only):

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

getDefaultName

Positional Arguments
  • self: Evision.MSER.t()
Return

Python prototype (for reference only):

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

getDelta

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

Python prototype (for reference only):

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

getMaxArea

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

Python prototype (for reference only):

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

getMinArea

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

Python prototype (for reference only):

getMinArea() -> retval
@spec getPass2Only(t()) :: boolean() | {:error, String.t()}

getPass2Only

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

Python prototype (for reference only):

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

Variant 1:

read

Positional Arguments

Python prototype (for reference only):

read(arg1) -> None

Variant 2:

read

Positional Arguments
  • self: Evision.MSER.t()
  • fileName: String

Python prototype (for reference only):

read(fileName) -> None
@spec setDelta(t(), integer()) :: :ok | {:error, String.t()}

setDelta

Positional Arguments
  • self: Evision.MSER.t()
  • delta: int

Python prototype (for reference only):

setDelta(delta) -> None
Link to this function

setMaxArea(self, maxArea)

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

setMaxArea

Positional Arguments
  • self: Evision.MSER.t()
  • maxArea: int

Python prototype (for reference only):

setMaxArea(maxArea) -> None
Link to this function

setMinArea(self, minArea)

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

setMinArea

Positional Arguments
  • self: Evision.MSER.t()
  • minArea: int

Python prototype (for reference only):

setMinArea(minArea) -> None
@spec setPass2Only(t(), boolean()) :: :ok | {:error, String.t()}

setPass2Only

Positional Arguments
  • self: Evision.MSER.t()
  • f: bool

Python prototype (for reference only):

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

Variant 1:

write

Positional Arguments
Keyword Arguments

Python prototype (for reference only):

write(fs[, name]) -> None

Variant 2:

write

Positional Arguments
  • self: Evision.MSER.t()
  • fileName: String

Python prototype (for reference only):

write(fileName) -> None
@spec write(t(), Evision.FileStorage.t(), [{atom(), term()}, ...] | nil) ::
  :ok | {:error, String.t()}

write

Positional Arguments
Keyword Arguments

Python prototype (for reference only):

write(fs[, name]) -> None