fast_match_mgT_fast_match_mgFastMatchMgFastMatchMgfast_match_mg (Operator)

Name

fast_match_mgT_fast_match_mgFastMatchMgFastMatchMgfast_match_mg — Suche nach allen guten Grauwert-Matches in einer Pyramide.

Warnung

fast_match_mgfast_match_mgFastMatchMgFastMatchMgFastMatchMgfast_match_mg ist veraltet und wird nur aus Gründen der Rückwärtskompatibilität zur Verfügung gestellt. Neue Applikationen sollten stattdessen die Form-basierten oder NCC-basierten Operatoren verwenden.

Signatur

fast_match_mg(Image : Matches : TemplateID, MaxError, NumLevel : )

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

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

HRegion HTemplate::FastMatchMg(const HImage& Image, double MaxError, const HTuple& NumLevel) const

HRegion HTemplate::FastMatchMg(const HImage& Image, double MaxError, Hlong NumLevel) const

HRegion HImage::FastMatchMg(const HTemplate& TemplateID, double MaxError, const HTuple& NumLevel) const

HRegion HImage::FastMatchMg(const HTemplate& TemplateID, double MaxError, Hlong NumLevel) const

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

HRegion HTemplate.FastMatchMg(HImage image, double maxError, HTuple numLevel)

HRegion HTemplate.FastMatchMg(HImage image, double maxError, int numLevel)

HRegion HImage.FastMatchMg(HTemplate templateID, double maxError, HTuple numLevel)

HRegion HImage.FastMatchMg(HTemplate templateID, double maxError, int numLevel)

def fast_match_mg(image: HObject, template_id: HHandle, max_error: float, num_level: MaybeSequence[int]) -> HObject

Beschreibung

fast_match_mgfast_match_mgFastMatchMgFastMatchMgFastMatchMgfast_match_mg führt analog zu fast_matchfast_matchFastMatchFastMatchFastMatchfast_match ein Matching zwischen dem Template von TemplateIDTemplateIDTemplateIDTemplateIDtemplateIDtemplate_id und ImageImageImageImageimageimage durch. Im Gegensatz zu fast_matchfast_matchFastMatchFastMatchFastMatchfast_match beginnt die Suche nach guten Matches aber in verkleinerten Bildern (Pyramide). Die Anzahl der Ebenen der Pyramide werden mit NumLevelNumLevelNumLevelNumLevelnumLevelnum_level festgelegt. Dabei bedeutet der Wert 1, dass keine Pyramide verwendet wird. fast_match_mgfast_match_mgFastMatchMgFastMatchMgFastMatchMgfast_match_mg ist in diesem Fall identisch mit fast_matchfast_matchFastMatchFastMatchFastMatchfast_match. Bei dem Wert 2 beginnt die Suche bei dem Bild mit halber Kantenlänge. Für alle Punkte, die in dem verkleinerten Bild einen geringen Fehler hatten (kleiner als MaxErrorMaxErrorMaxErrorMaxErrormaxErrormax_error) wird die Suche dann bei den entsprechenden Positionen im Originalbild (ImageImageImageImageimageimage) verfeinert. Optional kann bei dem Parameter NumLevelNumLevelNumLevelNumLevelnumLevelnum_level ein zweiter Wert übergeben werden. Dieser legt die Nummer der Ebene fest bei der mit dem Matching aufgehört werden soll. Es wird dann die bis dahin gefunden Region auf die Originalebene vergrößert. Die Werte sind größer oder gleich Null. Dabei entspricht Null der untersten Ebene und führt somit zu keiner Veränderung des Verfahrens. Bei der Wert 1 bricht das Matching eine Ebene oberhalb ab. Hierdurch wird Rechenzeit eingespart. Dies ist insbesondere dann sinnvoll, wenn es nicht auf eine genaue Lokalisation ankommt.

Die Laufzeit hängt dabei sehr von MaxErrorMaxErrorMaxErrorMaxErrormaxErrormax_error ab: um so größer der Schwellenwert ist um so länger dauert das Matching, da mehr Punkt weiter untersucht werden müssen. Falls MaxErrorMaxErrorMaxErrorMaxErrormaxErrormax_error jedoch zu klein ist, wird das gesuchte Muster nicht gefunden. Der Wert ist also für jede Anwendung durch Tests zu optimieren.

NumLevelNumLevelNumLevelNumLevelnumLevelnum_level gibt die Anzahl von Ebenen der Pyramide, einschließlich dem Ausgangsbild an.

Ausführungsinformationen

Parameter

ImageImageImageImageimageimage (input_object)  singlechannelimage(-array) objectHImageHObjectHImageHobject (byte)

Eingabebild, in dem das Pattern gefunden werden soll.

MatchesMatchesMatchesMatchesmatchesmatches (output_object)  region(-array) objectHRegionHObjectHRegionHobject *

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

TemplateIDTemplateIDTemplateIDTemplateIDtemplateIDtemplate_id (input_control)  template HTemplate, HTupleHHandleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)

Nummer des Templates.

MaxErrorMaxErrorMaxErrorMaxErrormaxErrormax_error (input_control)  real HTuplefloatHTupleHtuple (real) (double) (double) (double)

Maximale mittlere Differenz der Grauwerte.

Defaultwert: 30.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, 40.0, 50.0, 60.0, 70.0

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

Minimale Schrittweite: 1

Empfohlene Schrittweite: 3

NumLevelNumLevelNumLevelNumLevelnumLevelnum_level (input_control)  integer(-array) HTupleMaybeSequence[int]HTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Anzahl Ebenen in der Pyramide.

Defaultwert: 3

Wertevorschläge: 1, 2, 3, 4, 5, 6, 7, 8

Ergebnis

Sind die Parameterwerte korrekt, dann liefert fast_match_mgfast_match_mgFastMatchMgFastMatchMgFastMatchMgfast_match_mg den Wert 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>)SetSystem("no_object_result",<Result>)SetSystem("no_object_result",<Result>)set_system("no_object_result",<Result>) festlegen. Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.

Vorgänger

create_templatecreate_templateCreateTemplateCreateTemplateCreateTemplatecreate_template, read_templateread_templateReadTemplateReadTemplateReadTemplateread_template, adapt_templateadapt_templateAdaptTemplateAdaptTemplateAdaptTemplateadapt_template, draw_regiondraw_regionDrawRegionDrawRegionDrawRegiondraw_region, draw_rectangle1draw_rectangle1DrawRectangle1DrawRectangle1DrawRectangle1draw_rectangle1, reduce_domainreduce_domainReduceDomainReduceDomainReduceDomainreduce_domain

Alternativen

best_matchbest_matchBestMatchBestMatchBestMatchbest_match, best_match_mgbest_match_mgBestMatchMgBestMatchMgBestMatchMgbest_match_mg, fast_matchfast_matchFastMatchFastMatchFastMatchfast_match, exhaustive_matchexhaustive_matchExhaustiveMatchExhaustiveMatchExhaustiveMatchexhaustive_match, exhaustive_match_mgexhaustive_match_mgExhaustiveMatchMgExhaustiveMatchMgExhaustiveMatchMgexhaustive_match_mg

Modul

Matching