View Source Evision.Detail.LightGlueFeaturesMatcher (Evision v1.0.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