KlassenKlassenKlassenKlassen | | | | Operatoren

fast_matchfast_matchFastMatchfast_matchFastMatchFastMatch (Operator)

Name

fast_matchfast_matchFastMatchfast_matchFastMatchFastMatch — Suche nach allen guten Matches eines Templates und eines Bilds.

Signatur

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)

Beschreibung

fast_matchfast_matchFastMatchfast_matchFastMatchFastMatch führt ein Matching zwischen dem Template von TemplateIDTemplateIDTemplateIDTemplateIDTemplateIDtemplateID und ImageImageImageImageImageimage durch. Dabei wird das Template so über die Punkte von ImageImageImageImageImageimage geschoben, dass es immer vollständig innerhalb von ImageImageImageImageImageimage liegt. Das Matching-Kriterium („displaced frame difference“) ist wie folgt definiert:

Die Laufzeit des Verfahrens hängt von der Größe des Definitionsbereiches von ImageImageImageImageImageimage ab. Es ist daher wichtig, den Definitionsbereich möglichst einzugrenzen, d.h. den Operator nur in einer möglichst eng umrissenen „region of interest“ anzuwenden. Der Parameter MaxErrorMaxErrorMaxErrorMaxErrorMaxErrormaxError legt den maximalen Fehler fest, den die gesuchten Positionen haben dürfen. Um so kleiner dieser Wert ist, um so schneller läuft das Verfahren.

Alle Punkte, bei denen der Fehler des Matching kleiner als MaxErrorMaxErrorMaxErrorMaxErrorMaxErrormaxError ist, werden in der Ausgaberegion MatchesMatchesMatchesMatchesMatchesmatches übergeben.

Parallelisierung

Parameter

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

Eingabebild, in dem das Pattern gefunden werden soll.

MatchesMatchesMatchesMatchesMatchesmatches (output_object)  region(-array) objectHRegionHRegionHRegionHRegionXHobject *

Alle Punkte, bei denen der Fehler unter der Schwelle liegt.

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

Nummer des Templates.

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

Maximale mittlere Differenz der Grauwerte.

Defaultwert: 20.0

Wertevorschläge: 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

Typischer Wertebereich: 0 ≤ MaxError MaxError MaxError MaxError MaxError maxError ≤ 255

Minimale Schrittweite: 1

Empfohlene Schrittweite: 1

Ergebnis

Sind die Parameterwerte korrekt, dann liefert fast_matchfast_matchFastMatchfast_matchFastMatchFastMatch den Wert 2 (H_MSG_TRUE). Das Verhalten bei leerer Eingabe (keine Eingabebilder vorhanden) lässt sich mittels 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>) festlegen. Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.

Vorgänger

create_templatecreate_templateCreateTemplatecreate_templateCreateTemplateCreateTemplate, read_templateread_templateReadTemplateread_templateReadTemplateReadTemplate, adapt_templateadapt_templateAdaptTemplateadapt_templateAdaptTemplateAdaptTemplate, draw_regiondraw_regionDrawRegiondraw_regionDrawRegionDrawRegion, draw_rectangle1draw_rectangle1DrawRectangle1draw_rectangle1DrawRectangle1DrawRectangle1, reduce_domainreduce_domainReduceDomainreduce_domainReduceDomainReduceDomain

Nachfolger

connectionconnectionConnectionconnectionConnectionConnection, best_matchbest_matchBestMatchbest_matchBestMatchBestMatch

Alternativen

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

Modul

Matching


KlassenKlassenKlassenKlassen | | | | Operatoren