View Source Evision.Face.Facemark (Evision v0.1.37)

Summary

Types

t()

Type that represents an Face.Facemark struct.

Functions

Clears the algorithm state

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

Detect facial landmarks from an image.

Detect facial landmarks from an image.

getDefaultName

A function to load the trained model before the fitting process.

Reads algorithm parameters from a file storage

Stores algorithm parameters in a file storage

Types

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

Type that represents an Face.Facemark struct.

  • ref. reference()

    The underlying erlang resource variable.

Functions

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

Clears the algorithm state

Positional Arguments
  • self: Evision.Face.Facemark.t()

Python prototype (for reference only):

clear() -> 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.Face.Facemark.t()
Return
  • retval: bool

Python prototype (for reference only):

empty() -> retval
@spec fit(t(), Evision.Mat.maybe_mat_in(), Evision.Mat.maybe_mat_in()) ::
  [Evision.Mat.t()] | false | {:error, String.t()}

Detect facial landmarks from an image.

Positional Arguments
  • self: Evision.Face.Facemark.t()

  • image: Evision.Mat.t().

    Input image.

  • faces: Evision.Mat.t().

    Output of the function which represent region of interest of the detected faces. Each face is stored in cv::Rect container.

Return
  • retval: bool

  • landmarks: [Evision.Mat].

    The detected landmark points for each faces.

Example of usage
Mat image = imread("image.jpg");
std::vector<Rect> faces;
std::vector<std::vector<Point2f> > landmarks;
facemark->fit(image, faces, landmarks);

Python prototype (for reference only):

fit(image, faces[, landmarks]) -> retval, landmarks
Link to this function

fit(self, image, faces, opts)

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

Detect facial landmarks from an image.

Positional Arguments
  • self: Evision.Face.Facemark.t()

  • image: Evision.Mat.t().

    Input image.

  • faces: Evision.Mat.t().

    Output of the function which represent region of interest of the detected faces. Each face is stored in cv::Rect container.

Return
  • retval: bool

  • landmarks: [Evision.Mat].

    The detected landmark points for each faces.

Example of usage
Mat image = imread("image.jpg");
std::vector<Rect> faces;
std::vector<std::vector<Point2f> > landmarks;
facemark->fit(image, faces, landmarks);

Python prototype (for reference only):

fit(image, faces[, landmarks]) -> retval, landmarks
@spec getDefaultName(t()) :: binary() | {:error, String.t()}

getDefaultName

Positional Arguments
  • self: Evision.Face.Facemark.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 loadModel(t(), binary()) :: t() | {:error, String.t()}

A function to load the trained model before the fitting process.

Positional Arguments
  • self: Evision.Face.Facemark.t()

  • model: String.

    A string represent the filename of a trained model.

Example of usage
facemark->loadModel("../data/lbf.model");

Python prototype (for reference only):

loadModel(model) -> None
@spec read(t(), Evision.FileNode.t()) :: t() | {:error, String.t()}

Reads algorithm parameters from a file storage

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

Has overloading in C++

Python prototype (for reference only):

write(fs, name) -> None