| Operatoren |
best_match_mg — Suche nach dem besten Grauwert-Match in einer Pyramide.
best_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.
best_match_mg(Image : : TemplateID, MaxError, SubPixel, NumLevels, WhichLevels : Row, Column, Error)
best_match_mg führt eine Suche nach dem besten Grauwert-Match in einer Pyramide durch. best_match_mg arbeitet analog zu best_match, es wird jedoch die Suche durch die Verwendung einer Auflösungspyramide beschleunigt. Als Eingabe dient ein Bild, eventuell mit eingeschränktem Definitionsbereich. Der Grauwert-Match wird innerhalb des Definitionsbereiches des Eingabebildes nur an den Stellen gesucht, an denen der Grauwert-Match vollständig in das Bild passt. Das bedeutet, dass kein Match gefunden wird, wenn er aus dem Bild herausragt. Der Parameter MaxError gibt den maximalen Fehler vor, der bei dem Mustervergleich auftreten darf. Bei einem kleinen Wert beschleunigt sich der Operator, es kann jedoch vorkommen, dass das Muster nicht gefunden wird. Der Wert von MaxError muss gegenüber best_match größer gewählt werden, da der Matching-Fehler auf höheren Pyramidenebenen oft größer ist.
Der Parameter SubPixel legt fest, ob das Ergebnis mit subpixel Genauigkeit bestimmt werden soll. NumLevels bestimmt wieviele Pyramidenstufen für die Suche verwendet werden. Hat NumLevels den Wert 1, dann ist das Verfahren identisch mit best_match, d.h. es wird nur auf den Originaldaten gerechnet. Für Werte größer als 1, beginnt das Verfahren die Suche bei der geringsten Auflösung und sucht dort die Position mit dem geringsten Fehler. In der nächst höheren Auflösung wird dann die gefundene Position verfeinert. Dies wird bis zur höchsten Auflösung (Originaldaten) vorgesetzt (WhichLevels = 'all'). Als alternatives Verfahren kann der Modus WhichLevels mit den Wert 'original' verwendet werden. Hierbei wird auf allen Ebenen mit reduzierter Auflösung nicht nur der Punkt mit dem geringsten Fehler, sondern alle Punkte die unterhalb von MaxError liegen weiter untersucht. Dieses Verfahren ist langsamer, aber die Gefahr, dass der richtige Punkt nicht gefunden wird, ist geringer. Gegebenenfalls kann in diesem Modus eine geringere Auflösung, d.h. eine höhere Pyramidenstufe verwendet werden, was zu einer verbesserten Laufzeit führt. Neben den Modi 'all' und 'original' für WhichLevels kann die gewünschte Ebene bei der zwischen den Verfahren umgeschaltet werden soll auch explizit angegeben werden. Hier entspricht 0 dem Wert 'original' und NumLevels - 1 entspricht dem Wert 'all'. Ein Wert zwischen diesen beiden Extremen ist in den meisten Fällen ein guter Kompromis zwischen Stabilität und Laufzeit. Ein größerer Wert für WhichLevels verkürzt die Laufzeit, während ein kleinerer Wert das Verhalten stabiler macht. Der Wert für NumLevels muss gleich oder kleiner sein als die Anzahl der Ebenen, die bei der Erzeugung des Templates verwendet wurde.
Die gefunden Position des Musters wird in Row, Column übergeben. Der hierbei aufgetretene Fehler steht in Error. Wenn kein Punkt unterhalb von MaxError gefunden wird hat Error den Wert 255 und Row und Column haben den Wert 0. Der maximale Fehler der Position (ohne Rauschen) beträgt im sub-Pixel Modus 0.1 Pixel. Der mittlere Fehler beträgt 0.03 Pixel.
Eingabebild, in dem das Pattern gefunden werden soll.
Nummer des Templates.
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
Subpixel Genauigkeit falls 'true'.
Defaultwert: 'false'
Werteliste: 'false', 'true'
Anzahl der verwendeten Auflösungsebenen.
Defaultwert: 4
Wertevorschläge: 1, 2, 3, 4, 5, 6
Auflösungsebene bis zu der die Methode „best match“ verwendet wird.
Defaultwert: 2
Wertevorschläge: 'all', 'original', 0, 1, 2, 3, 4, 5, 6
Zeilenposition des Best-Match.
Spaltenposition des Best-Match.
Mittlere Abweichung der Grauwerte des Best-Match.
Sind die Parameterwerte korrekt, dann liefert best_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, set_reference_template, set_offset_template
fast_match, fast_match_mg, best_match, best_match_pre_mg, best_match_rot, best_match_rot_mg, exhaustive_match, exhaustive_match_mg
Matching
| Operatoren |