fast_match_mg
— Suche nach allen guten Grauwert-Matches in einer Pyramide.
fast_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.
fast_match_mg(Image : Matches : TemplateID, MaxError, NumLevel : )
fast_match_mg
führt analog
zu fast_match
ein Matching zwischen dem Template von
TemplateID
und Image
durch.
Im Gegensatz zu fast_match
beginnt die Suche
nach guten Matches aber in verkleinerten Bildern (Pyramide).
Die Anzahl der Ebenen der Pyramide werden mit
NumLevel
festgelegt.
Dabei bedeutet der Wert 1, dass keine Pyramide verwendet wird.
fast_match_mg
ist in diesem Fall identisch mit
fast_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 MaxError
) wird
die Suche dann bei den entsprechenden Positionen
im Originalbild (Image
) verfeinert.
Optional kann bei dem Parameter NumLevel
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 MaxError
ab:
um so größer der Schwellenwert ist um so länger dauert
das Matching, da mehr Punkt weiter untersucht werden müssen.
Falls MaxError
jedoch zu klein ist, wird
das gesuchte Muster nicht gefunden.
Der Wert ist also für jede Anwendung durch Tests zu optimieren.
NumLevel
gibt die Anzahl von Ebenen der Pyramide,
einschließlich dem Ausgangsbild an.
Image
(input_object) singlechannelimage(-array) →
object (byte)
Eingabebild, in dem das Pattern gefunden werden soll.
Matches
(output_object) region(-array) →
object
Alle Punkte, bei denen der Fehler unter der Schwelle liegt.
TemplateID
(input_control) template →
(handle)
Nummer des Templates.
MaxError
(input_control) real →
(real)
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
≤
255
Minimale Schrittweite: 1
Empfohlene Schrittweite: 3
NumLevel
(input_control) integer(-array) →
(integer)
Anzahl Ebenen in der Pyramide.
Defaultwert: 3
Wertevorschläge: 1, 2, 3, 4, 5, 6, 7, 8
Sind die Parameterwerte korrekt, dann liefert fast_match_mg
den Wert 2 (H_MSG_TRUE).
Das Verhalten bei leerer Eingabe (keine Eingabebilder vorhanden) lässt
sich mittels set_system('no_object_result',<Result>)
festlegen. Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.
create_template
,
read_template
,
adapt_template
,
draw_region
,
draw_rectangle1
,
reduce_domain
best_match
,
best_match_mg
,
fast_match
,
exhaustive_match
,
exhaustive_match_mg
Matching