View Source Evision.KeyPoint (Evision v0.2.9)

Summary

Types

t()

Type that represents an KeyPoint struct.

Types

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

Type that represents an KeyPoint struct.

  • ref. reference()

    The underlying erlang resource variable.

Functions

@spec convert(Keyword.t()) :: any() | {:error, String.t()}
@spec convert([{number(), number()}]) :: [t()] | {:error, String.t()}

convert

Positional Arguments
  • points2f: [Point2f].

    Array of (x,y) coordinates of each keypoint

Keyword Arguments
  • size: float.

    keypoint diameter

  • response: float.

    keypoint detector response on the keypoint (that is, strength of the keypoint)

  • octave: integer().

    pyramid octave in which the keypoint has been detected

  • class_id: integer().

    object id

Return
  • keypoints: [Evision.KeyPoint].

    Keypoints obtained from any feature detection algorithm like SIFT/SURF/ORB

Has overloading in C++

Python prototype (for reference only):

convert(points2f[, size[, response[, octave[, class_id]]]]) -> keypoints
@spec convert(
  [{number(), number()}],
  [class_id: term(), octave: term(), response: term(), size: term()] | nil
) :: [t()] | {:error, String.t()}

convert

Positional Arguments
  • points2f: [Point2f].

    Array of (x,y) coordinates of each keypoint

Keyword Arguments
  • size: float.

    keypoint diameter

  • response: float.

    keypoint detector response on the keypoint (that is, strength of the keypoint)

  • octave: integer().

    pyramid octave in which the keypoint has been detected

  • class_id: integer().

    object id

Return
  • keypoints: [Evision.KeyPoint].

    Keypoints obtained from any feature detection algorithm like SIFT/SURF/ORB

Has overloading in C++

Python prototype (for reference only):

convert(points2f[, size[, response[, octave[, class_id]]]]) -> keypoints
@spec get_angle(t()) :: number()
@spec get_class_id(t()) :: integer()
@spec get_octave(t()) :: integer()
@spec get_pt(t()) :: {number(), number()}
@spec get_response(t()) :: number()
@spec get_size(t()) :: number()
@spec keyPoint() :: t() | {:error, String.t()}

KeyPoint

Return
  • self: Evision.KeyPoint.t()

Python prototype (for reference only):

KeyPoint() -> <KeyPoint object>
@spec keyPoint(Keyword.t()) :: any() | {:error, String.t()}
@spec keyPoint(number(), number(), number()) :: t() | {:error, String.t()}

KeyPoint

Positional Arguments
  • x: float.

    x-coordinate of the keypoint

  • y: float.

    y-coordinate of the keypoint

  • size: float.

    keypoint diameter

Keyword Arguments
  • angle: float.

    keypoint orientation

  • response: float.

    keypoint detector response on the keypoint (that is, strength of the keypoint)

  • octave: integer().

    pyramid octave in which the keypoint has been detected

  • class_id: integer().

    object id

Return
  • self: Evision.KeyPoint.t()

Python prototype (for reference only):

KeyPoint(x, y, size[, angle[, response[, octave[, class_id]]]]) -> <KeyPoint object>
Link to this function

keyPoint(x, y, size, opts)

View Source
@spec keyPoint(
  number(),
  number(),
  number(),
  [angle: term(), class_id: term(), octave: term(), response: term()] | nil
) :: t() | {:error, String.t()}

KeyPoint

Positional Arguments
  • x: float.

    x-coordinate of the keypoint

  • y: float.

    y-coordinate of the keypoint

  • size: float.

    keypoint diameter

Keyword Arguments
  • angle: float.

    keypoint orientation

  • response: float.

    keypoint detector response on the keypoint (that is, strength of the keypoint)

  • octave: integer().

    pyramid octave in which the keypoint has been detected

  • class_id: integer().

    object id

Return
  • self: Evision.KeyPoint.t()

Python prototype (for reference only):

KeyPoint(x, y, size[, angle[, response[, octave[, class_id]]]]) -> <KeyPoint object>
@spec overlap(Keyword.t()) :: any() | {:error, String.t()}
@spec overlap(t(), t()) :: number() | {:error, String.t()}

overlap

Positional Arguments
Return
  • retval: float

This method computes overlap for pair of keypoints. Overlap is the ratio between area of keypoint regions' intersection and area of keypoint regions' union (considering keypoint region as circle). If they don't overlap, we get zero. If they coincide at same location with same size, we get 1.

Python prototype (for reference only):

overlap(kp1, kp2) -> retval
@spec set_angle(t(), number()) :: t()
Link to this function

set_class_id(self, prop)

View Source
@spec set_class_id(t(), integer()) :: t()
@spec set_octave(t(), integer()) :: t()
@spec set_pt(
  t(),
  {number(), number()}
) :: t()
Link to this function

set_response(self, prop)

View Source
@spec set_response(t(), number()) :: t()
@spec set_size(t(), number()) :: t()