ClassesClassesClassesClasses | | | | Operators

fast_matchfast_matchFastMatchfast_matchFastMatchFastMatch (Operator)

Name

fast_matchfast_matchFastMatchfast_matchFastMatchFastMatch — Searching all good matches of a template and an image.

Warning

fast_matchfast_matchFastMatchfast_matchFastMatchFastMatch is obsolete and is only provided for reasons of backward compatibility. New applications should use the shape-based or NCC-based operators instead.

Signature

fast_match(Image : Matches : TemplateID, MaxError : )

Herror fast_match(const Hobject Image, Hobject* Matches, const Hlong TemplateID, double MaxError)

Herror T_fast_match(const Hobject Image, Hobject* Matches, const Htuple TemplateID, const Htuple MaxError)

Herror fast_match(Hobject Image, Hobject* Matches, const HTuple& TemplateID, const HTuple& MaxError)

HRegion HImage::FastMatch(const HTemplate& TemplateID, const HTuple& MaxError) const

HRegionArray HImageArray::FastMatch(const HTemplate& TemplateID, const HTuple& MaxError) const

HRegionArray HTemplate::FastMatch(const HImageArray& Image, const HTuple& MaxError) const

void FastMatch(const HObject& Image, HObject* Matches, const HTuple& TemplateID, const HTuple& MaxError)

HRegion HTemplate::FastMatch(const HImage& Image, double MaxError) const

HRegion HImage::FastMatch(const HTemplate& TemplateID, double MaxError) const

void HOperatorSetX.FastMatch(
[in] IHUntypedObjectX* Image, [out] IHUntypedObjectX*Matches, [in] VARIANT TemplateID, [in] VARIANT MaxError)

IHRegionX* HTemplateX.FastMatch(
[in] IHImageX* Image, [in] double MaxError)

IHRegionX* HImageX.FastMatch(
[in] IHTemplateX* TemplateID, [in] double MaxError)

static void HOperatorSet.FastMatch(HObject image, out HObject matches, HTuple templateID, HTuple maxError)

HRegion HTemplate.FastMatch(HImage image, double maxError)

HRegion HImage.FastMatch(HTemplate templateID, double maxError)

Description

The operator fast_matchfast_matchFastMatchfast_matchFastMatchFastMatch performs a matching of the template of TemplateIDTemplateIDTemplateIDTemplateIDTemplateIDtemplateID and ImageImageImageImageImageimage. Hereby the template will be moved over the points of ImageImageImageImageImageimage so that the template always lies completely inside of ImageImageImageImageImageimage. The matching criterion (“displaced frame difference”) is defined as follows:

The difference between fast_matchfast_matchFastMatchfast_matchFastMatchFastMatch and exhaustive_matchexhaustive_matchExhaustiveMatchexhaustive_matchExhaustiveMatchExhaustiveMatch is that the matching for one position is stopped if the error is to high. This leads to a reduced runtime but one might miss correct matches. The runtime of the operator depends mainly on the size of the domain of ImageImageImageImageImageimage. Therefore it is important to restrict the domain as far as possible, i.e. to apply the operator only in a very confined “region of interest”. The parameter MaxErrorMaxErrorMaxErrorMaxErrorMaxErrormaxError determines the maximal error which the searched position is allowed to show. The lower this value is, the faster the operator runs.

All points which show a matching error smaller than MaxErrorMaxErrorMaxErrorMaxErrorMaxErrormaxError will be returned in the output region MatchesMatchesMatchesMatchesMatchesmatches. This region can be used for further processing. For example by using a connection and best_matchbest_matchBestMatchbest_matchBestMatchBestMatch to find all the matching objects. If no point has a match error below MaxErrorMaxErrorMaxErrorMaxErrorMaxErrormaxError the empty region (i.e no points) is returned.

Parallelization

Parameters

ImageImageImageImageImageimage (input_object)  singlechannelimage(-array) objectHImageHImageHImageHImageXHobject (byte)

Input image inside of which the pattern has to be found.

MatchesMatchesMatchesMatchesMatchesmatches (output_object)  region(-array) objectHRegionHRegionHRegionHRegionXHobject *

All points whose error lies below a certain threshold.

TemplateIDTemplateIDTemplateIDTemplateIDTemplateIDtemplateID (input_control)  template HTemplate, HTupleHTupleHTemplate, HTupleHTemplateX, VARIANTHtuple (integer) (IntPtr) (Hlong) (Hlong) (Hlong) (Hlong)

Template number.

MaxErrorMaxErrorMaxErrorMaxErrorMaxErrormaxError (input_control)  real HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)

Maximal average difference of the grayvalues.

Default value: 20.0

Suggested values: 0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 9.0, 11.0, 15.0, 17.0, 20.0, 30.0

Typical range of values: 0 ≤ MaxError MaxError MaxError MaxError MaxError maxError ≤ 255

Minimum increment: 1

Recommended increment: 1

Result

If the parameter values are correct, the operator fast_matchfast_matchFastMatchfast_matchFastMatchFastMatch returns the value 2 (H_MSG_TRUE). If the input is empty (no input images are available) the behaviour can be set via set_system('no_object_result',<Result>)set_system("no_object_result",<Result>)SetSystem("no_object_result",<Result>)set_system("no_object_result",<Result>)SetSystem("no_object_result",<Result>)SetSystem("no_object_result",<Result>). If necessary, an exception is raised.

Possible Predecessors

create_templatecreate_templateCreateTemplatecreate_templateCreateTemplateCreateTemplate, read_templateread_templateReadTemplateread_templateReadTemplateReadTemplate, adapt_templateadapt_templateAdaptTemplateadapt_templateAdaptTemplateAdaptTemplate, draw_regiondraw_regionDrawRegiondraw_regionDrawRegionDrawRegion, draw_rectangle1draw_rectangle1DrawRectangle1draw_rectangle1DrawRectangle1DrawRectangle1, reduce_domainreduce_domainReduceDomainreduce_domainReduceDomainReduceDomain

Possible Successors

connectionconnectionConnectionconnectionConnectionConnection, best_matchbest_matchBestMatchbest_matchBestMatchBestMatch

Alternatives

best_matchbest_matchBestMatchbest_matchBestMatchBestMatch, best_match_mgbest_match_mgBestMatchMgbest_match_mgBestMatchMgBestMatchMg, fast_match_mgfast_match_mgFastMatchMgfast_match_mgFastMatchMgFastMatchMg, exhaustive_matchexhaustive_matchExhaustiveMatchexhaustive_matchExhaustiveMatchExhaustiveMatch, exhaustive_match_mgexhaustive_match_mgExhaustiveMatchMgexhaustive_match_mgExhaustiveMatchMgExhaustiveMatchMg

Module

Matching


ClassesClassesClassesClasses | | | | Operators