View Source Evision.Detail.AffineBestOf2NearestMatcher (Evision v0.2.9)
Summary
Functions
Constructs a "best of 2 nearest" matcher that expects affine transformation between images
Constructs a "best of 2 nearest" matcher that expects affine transformation between images
Performs images matching.
Performs images matching.
collectGarbage
create
create
isThreadSafe
Types
@type t() :: %Evision.Detail.AffineBestOf2NearestMatcher{ref: reference()}
Type that represents an Detail.AffineBestOf2NearestMatcher
struct.
ref.
reference()
The underlying erlang resource variable.
Functions
Constructs a "best of 2 nearest" matcher that expects affine transformation between images
Keyword Arguments
full_affine:
bool
.whether to use full affine transformation with 6 degress of freedom or reduced transformation with 4 degrees of freedom using only rotation, translation and uniform scaling
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 affine transform estimation used in the inliers classification step
Return
- self:
Evision.Detail.AffineBestOf2NearestMatcher.t()
@sa cv::estimateAffine2D cv::estimateAffinePartial2D
Python prototype (for reference only):
AffineBestOf2NearestMatcher([, full_affine[, try_use_gpu[, match_conf[, num_matches_thresh1]]]]) -> <detail_AffineBestOf2NearestMatcher object>
@spec affineBestOf2NearestMatcher(Keyword.t()) :: any() | {:error, String.t()}
@spec affineBestOf2NearestMatcher( [ full_affine: term(), match_conf: term(), num_matches_thresh1: term(), try_use_gpu: term() ] | nil ) :: t() | {:error, String.t()}
Constructs a "best of 2 nearest" matcher that expects affine transformation between images
Keyword Arguments
full_affine:
bool
.whether to use full affine transformation with 6 degress of freedom or reduced transformation with 4 degrees of freedom using only rotation, translation and uniform scaling
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 affine transform estimation used in the inliers classification step
Return
- self:
Evision.Detail.AffineBestOf2NearestMatcher.t()
@sa cv::estimateAffine2D cv::estimateAffinePartial2D
Python prototype (for reference only):
AffineBestOf2NearestMatcher([, full_affine[, try_use_gpu[, match_conf[, num_matches_thresh1]]]]) -> <detail_AffineBestOf2NearestMatcher object>
@spec apply2(t(), [Evision.Detail.ImageFeatures.t()]) :: [Evision.Detail.MatchesInfo.t()] | {:error, String.t()}
Performs images matching.
Positional Arguments
self:
Evision.Detail.AffineBestOf2NearestMatcher.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.AffineBestOf2NearestMatcher.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.AffineBestOf2NearestMatcher.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
@spec collectGarbage(Keyword.t()) :: any() | {:error, String.t()}
@spec collectGarbage(t()) :: t() | {:error, String.t()}
collectGarbage
Positional Arguments
- self:
Evision.Detail.AffineBestOf2NearestMatcher.t()
Python prototype (for reference only):
collectGarbage() -> None
@spec create() :: Evision.Detail.BestOf2NearestMatcher.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 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 ) :: Evision.Detail.BestOf2NearestMatcher.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.AffineBestOf2NearestMatcher.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