View Source Evision.Detail.LightGlueFeaturesMatcher (Evision v1.0.0-rc.0)

Summary

Types

t()

Type that represents an Detail.LightGlueFeaturesMatcher struct.

Functions

Performs images matching.

Performs images matching.

Frees unused memory allocated before if there is any.

Constructs a LightGlue features matcher.

Constructs a LightGlue features matcher.

Sets the LightGlue confidence threshold for filtering matches.

Types

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

Type that represents an Detail.LightGlueFeaturesMatcher struct.

  • ref. reference()

    The underlying erlang resource variable.

Functions

@spec apply2(Keyword.t()) :: any() | {:error, String.t()}
@spec apply2(Evision.Detail.Detail.LightGlueFeaturesMatcher.t(), [
  Evision.Detail.ImageFeatures.t()
]) ::
  [Evision.Detail.MatchesInfo.t()] | {:error, String.t()}

Performs images matching.

Positional Arguments
  • self: Evision.Detail.LightGlueFeaturesMatcher.t()

  • features: [Evision.Detail.ImageFeatures].

    Features of the source images

Keyword Arguments
  • mask: Evision.Mat.

    Mask indicating which image pairs must be matched

Return
  • pairwise_matches: [Evision.Detail.MatchesInfo].

    Found pairwise matches

The function is parallelized with the TBB library. @sa detail::MatchesInfo

Python prototype (for reference only):

apply2(features[, mask]) -> pairwise_matches
Link to this function

apply2(self, features, opts)

View Source
@spec apply2(
  Evision.Detail.Detail.LightGlueFeaturesMatcher.t(),
  [Evision.Detail.ImageFeatures.t()],
  [{:mask, term()}] | nil
) :: [Evision.Detail.MatchesInfo.t()] | {:error, String.t()}

Performs images matching.

Positional Arguments
  • self: Evision.Detail.LightGlueFeaturesMatcher.t()

  • features: [Evision.Detail.ImageFeatures].

    Features of the source images

Keyword Arguments
  • mask: Evision.Mat.

    Mask indicating which image pairs must be matched

Return
  • pairwise_matches: [Evision.Detail.MatchesInfo].

    Found pairwise matches

The function is parallelized with the TBB library. @sa detail::MatchesInfo

Python prototype (for reference only):

apply2(features[, mask]) -> pairwise_matches
@spec apply(Keyword.t()) :: any() | {:error, String.t()}
Link to this function

apply(self, features1, features2)

View Source
@spec apply(
  Evision.Detail.Detail.LightGlueFeaturesMatcher.t(),
  Evision.Detail.ImageFeatures.t(),
  Evision.Detail.ImageFeatures.t()
) :: Evision.Detail.MatchesInfo.t() | {:error, String.t()}

apply

Positional Arguments
Return
  • matches_info: Evision.Detail.MatchesInfo.t().

    Found matches

Has overloading in C++

Python prototype (for reference only):

apply(features1, features2) -> matches_info
Link to this function

collectGarbage(named_args)

View Source
@spec collectGarbage(Keyword.t()) :: any() | {:error, String.t()}
@spec collectGarbage(Evision.Detail.Detail.LightGlueFeaturesMatcher.t()) ::
  Evision.Detail.Detail.LightGlueFeaturesMatcher.t() | {:error, String.t()}

Frees unused memory allocated before if there is any.

Positional Arguments
  • self: Evision.Detail.LightGlueFeaturesMatcher.t()

Python prototype (for reference only):

collectGarbage() -> None
Link to this function

isThreadSafe(named_args)

View Source
@spec isThreadSafe(Keyword.t()) :: any() | {:error, String.t()}
@spec isThreadSafe(Evision.Detail.Detail.LightGlueFeaturesMatcher.t()) ::
  boolean() | {:error, String.t()}

isThreadSafe

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

@return True, if it's possible to use the same matcher instance in parallel, false otherwise

Python prototype (for reference only):

isThreadSafe() -> retval
Link to this function

lightGlueFeaturesMatcher(named_args)

View Source
@spec lightGlueFeaturesMatcher(Keyword.t()) :: any() | {:error, String.t()}
@spec lightGlueFeaturesMatcher(Evision.LightGlueMatcher.t()) ::
  t() | {:error, String.t()}

Constructs a LightGlue features matcher.

Positional Arguments
Keyword Arguments
  • num_matches_thresh1: integer().

    Minimum number of matches required for the 2D projective transform estimation used in the inliers classification step

  • num_matches_thresh2: integer().

    Minimum number of matches required for the 2D projective transform re-estimation on inliers

  • matches_confidence_thresh: double.

    Matching confidence threshold to take the match into account.

Return
  • self: LightGlueFeaturesMatcher

Python prototype (for reference only):

LightGlueFeaturesMatcher(lgMatcher[, num_matches_thresh1[, num_matches_thresh2[, matches_confidence_thresh]]]) -> <detail_LightGlueFeaturesMatcher object>
Link to this function

lightGlueFeaturesMatcher(lgMatcher, opts)

View Source
@spec lightGlueFeaturesMatcher(
  Evision.LightGlueMatcher.t(),
  [
    matches_confidence_thresh: term(),
    num_matches_thresh1: term(),
    num_matches_thresh2: term()
  ]
  | nil
) :: t() | {:error, String.t()}

Constructs a LightGlue features matcher.

Positional Arguments
Keyword Arguments
  • num_matches_thresh1: integer().

    Minimum number of matches required for the 2D projective transform estimation used in the inliers classification step

  • num_matches_thresh2: integer().

    Minimum number of matches required for the 2D projective transform re-estimation on inliers

  • matches_confidence_thresh: double.

    Matching confidence threshold to take the match into account.

Return
  • self: LightGlueFeaturesMatcher

Python prototype (for reference only):

LightGlueFeaturesMatcher(lgMatcher[, num_matches_thresh1[, num_matches_thresh2[, matches_confidence_thresh]]]) -> <detail_LightGlueFeaturesMatcher object>
Link to this function

setScoreThreshold(named_args)

View Source
@spec setScoreThreshold(Keyword.t()) :: any() | {:error, String.t()}
Link to this function

setScoreThreshold(self, thresh)

View Source
@spec setScoreThreshold(Evision.Detail.Detail.LightGlueFeaturesMatcher.t(), number()) ::
  Evision.Detail.Detail.LightGlueFeaturesMatcher.t() | {:error, String.t()}

Sets the LightGlue confidence threshold for filtering matches.

Positional Arguments
  • self: Evision.Detail.LightGlueFeaturesMatcher.t()
  • thresh: float

Python prototype (for reference only):

setScoreThreshold(thresh) -> None