View Source Evision.Detail.BestOf2NearestMatcher (Evision v0.2.9)
Summary
Functions
Performs images matching.
Performs images matching.
Constructs a "best of 2 nearest" matcher.
Constructs a "best of 2 nearest" matcher.
collectGarbage
create
create
isThreadSafe
Types
@type t() :: %Evision.Detail.BestOf2NearestMatcher{ref: reference()}
Type that represents an Detail.BestOf2NearestMatcher
struct.
ref.
reference()
The underlying erlang resource variable.
Functions
@spec apply2(t(), [Evision.Detail.ImageFeatures.t()]) :: [Evision.Detail.MatchesInfo.t()] | {:error, String.t()}
Performs images matching.
Positional Arguments
self:
Evision.Detail.BestOf2NearestMatcher.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 apply2(t(), [Evision.Detail.ImageFeatures.t()], [{:mask, term()}] | nil) :: [Evision.Detail.MatchesInfo.t()] | {:error, String.t()}
Performs images matching.
Positional Arguments
self:
Evision.Detail.BestOf2NearestMatcher.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(t(), Evision.Detail.ImageFeatures.t(), Evision.Detail.ImageFeatures.t()) :: Evision.Detail.MatchesInfo.t() | {:error, String.t()}
apply
Positional Arguments
self:
Evision.Detail.BestOf2NearestMatcher.t()
features1:
Evision.Detail.ImageFeatures
.First image features
features2:
Evision.Detail.ImageFeatures
.Second image features
Return
matches_info:
Evision.Detail.MatchesInfo.t()
.Found matches
Has overloading in C++
Python prototype (for reference only):
apply(features1, features2) -> matches_info
Constructs a "best of 2 nearest" matcher.
Keyword Arguments
try_use_gpu:
bool
.Should try to use GPU or not
match_conf:
float
.Match distances ration threshold
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_confindece_thresh:
double
.Matching confidence threshold to take the match into account. The threshold was determined experimentally and set to 3 by default.
Return
- self:
Evision.Detail.BestOf2NearestMatcher.t()
Python prototype (for reference only):
BestOf2NearestMatcher([, try_use_gpu[, match_conf[, num_matches_thresh1[, num_matches_thresh2[, matches_confindece_thresh]]]]]) -> <detail_BestOf2NearestMatcher object>
@spec bestOf2NearestMatcher(Keyword.t()) :: any() | {:error, String.t()}
@spec bestOf2NearestMatcher( [ match_conf: term(), matches_confindece_thresh: term(), num_matches_thresh1: term(), num_matches_thresh2: term(), try_use_gpu: term() ] | nil ) :: t() | {:error, String.t()}
Constructs a "best of 2 nearest" matcher.
Keyword Arguments
try_use_gpu:
bool
.Should try to use GPU or not
match_conf:
float
.Match distances ration threshold
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_confindece_thresh:
double
.Matching confidence threshold to take the match into account. The threshold was determined experimentally and set to 3 by default.
Return
- self:
Evision.Detail.BestOf2NearestMatcher.t()
Python prototype (for reference only):
BestOf2NearestMatcher([, try_use_gpu[, match_conf[, num_matches_thresh1[, num_matches_thresh2[, matches_confindece_thresh]]]]]) -> <detail_BestOf2NearestMatcher object>
@spec collectGarbage(Keyword.t()) :: any() | {:error, String.t()}
@spec collectGarbage(t()) :: t() | {:error, String.t()}
collectGarbage
Positional Arguments
- self:
Evision.Detail.BestOf2NearestMatcher.t()
Python prototype (for reference only):
collectGarbage() -> None
create
Keyword Arguments
- try_use_gpu:
bool
. - match_conf:
float
. - num_matches_thresh1:
integer()
. - num_matches_thresh2:
integer()
. - matches_confindece_thresh:
double
.
Return
- retval:
Evision.Detail.BestOf2NearestMatcher.t()
Python prototype (for reference only):
create([, try_use_gpu[, match_conf[, num_matches_thresh1[, num_matches_thresh2[, matches_confindece_thresh]]]]]) -> retval
@spec create(Keyword.t()) :: any() | {:error, String.t()}
@spec create( [ match_conf: term(), matches_confindece_thresh: term(), num_matches_thresh1: term(), num_matches_thresh2: term(), try_use_gpu: term() ] | nil ) :: t() | {:error, String.t()}
create
Keyword Arguments
- try_use_gpu:
bool
. - match_conf:
float
. - num_matches_thresh1:
integer()
. - num_matches_thresh2:
integer()
. - matches_confindece_thresh:
double
.
Return
- retval:
Evision.Detail.BestOf2NearestMatcher.t()
Python prototype (for reference only):
create([, try_use_gpu[, match_conf[, num_matches_thresh1[, num_matches_thresh2[, matches_confindece_thresh]]]]]) -> retval
@spec isThreadSafe(Keyword.t()) :: any() | {:error, String.t()}
@spec isThreadSafe(t()) :: boolean() | {:error, String.t()}
isThreadSafe
Positional Arguments
- self:
Evision.Detail.BestOf2NearestMatcher.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