View Source Evision.Legacy.Tracker (Evision v0.1.28)

Link to this section Summary

Types

t()

Type that represents an Legacy.Tracker struct.

Functions

Clears the algorithm state

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

getDefaultName

Initialize the tracker with a known bounding box that surrounded the target

Reads algorithm parameters from a file storage

Update the tracker, find the new most likely bounding box for the target

Stores algorithm parameters in a file storage

Link to this section Types

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

Type that represents an Legacy.Tracker struct.

  • ref. reference()

    The underlying erlang resource variable.

Link to this section Functions

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

Clears the algorithm state

Positional Arguments
  • self: Evision.Legacy.Tracker.t()

Python prototype (for reference only):

clear() -> None
@spec empty(Evision.Tracker.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.Legacy.Tracker.t()
Return
  • retval: bool

Python prototype (for reference only):

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

getDefaultName

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

init(self, image, boundingBox)

View Source
@spec init(
  Evision.Tracker.t(),
  Evision.Mat.maybe_mat_in(),
  {number(), number(), number(), number()}
) ::
  boolean() | {:error, String.t()}

Initialize the tracker with a known bounding box that surrounded the target

Positional Arguments
  • self: Evision.Legacy.Tracker.t()

  • image: Evision.Mat.t().

    The initial frame

  • boundingBox: Rect2d.

    The initial bounding box

Return
  • retval: bool

@return True if initialization went succesfully, false otherwise

Python prototype (for reference only):

init(image, boundingBox) -> retval
@spec read(Evision.Tracker.t(), Evision.FileNode.t()) ::
  Evision.Tracker.t() | {:error, String.t()}

Reads algorithm parameters from a file storage

Positional Arguments
  • self: Evision.Legacy.Tracker.t()
  • fn_: Evision.FileNode.t()

Python prototype (for reference only):

read(fn_) -> None
@spec save(Evision.Tracker.t(), binary()) ::
  Evision.Tracker.t() | {:error, String.t()}

save

Positional Arguments
  • self: Evision.Legacy.Tracker.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 update(Evision.Tracker.t(), Evision.Mat.maybe_mat_in()) ::
  {number(), number(), number(), number()} | false | {:error, String.t()}

Update the tracker, find the new most likely bounding box for the target

Positional Arguments
  • self: Evision.Legacy.Tracker.t()

  • image: Evision.Mat.t().

    The current frame

Return
  • retval: bool

  • boundingBox: Rect2d.

    The bounding box that represent the new target location, if true was returned, not modified otherwise

@return True means that target was located and false means that tracker cannot locate target in current frame. Note, that latter does not imply that tracker has failed, maybe target is indeed missing from the frame (say, out of sight)

Python prototype (for reference only):

update(image) -> retval, boundingBox
@spec write(Evision.Tracker.t(), Evision.FileStorage.t()) ::
  Evision.Tracker.t() | {:error, String.t()}

Stores algorithm parameters in a file storage

Positional Arguments
  • self: Evision.Legacy.Tracker.t()
  • fs: Evision.FileStorage.t()

Python prototype (for reference only):

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

write

Positional Arguments
  • self: Evision.Legacy.Tracker.t()
  • fs: Evision.FileStorage.t()
  • name: String

Has overloading in C++

Python prototype (for reference only):

write(fs, name) -> None