| Operatoren |
exhaustive_match_mg — Matching zwischen einem Template und einem Bild in einer Auflösungspyramide.
exhaustive_match_mg(Image, ImageTemplate : ImageMatch : Mode, Level, Threshold : )
exhaustive_match_mg ist eine Ergänzung zum Operator exhaustive_match, die ein Matching zwischen dem Bild Image und dem Template ImageTemplate durchführt. Dabei wird ImageTemplate über alle Punkte der Region von Image geschoben, abhängig vom Parameter Mode ein Matching-Kriterium berechnet und die Ergebniswerte in ImageMatch abgelegt.
In der Regel interessieren von solcherart gefilterten Bildern aber nur die Bereiche mit guten Matchingergebnissen. Die Größe des Suchbereichs, also die Region des Eingabebildes Image, bestimmt maßgeblich das Laufzeitverhalten des Matching-Filters. Daher wird bei exhaustive_match_mg mit reduzierter Bildauflösung zunächst eine „region of interest“ bestimmt, in der mit guten Matching-Ergebnissen zu rechnen ist, und im Anschluss daran nur innerhalb dieser Teilregion in normaler Auflösung das eigentliche Matching (vgl. exhaustive_match) durchgeführt. Dazu werden die Gauß-Pyramiden von Image und ImageTemplate aufgebaut (insbesondere werden auch die entsprechenden Regionen mittransformiert). Dann wird auf jeder Ebene der Auflösungspyramiden - beginnend mit der Startebene Level - das Matching innerhalb der aktuellen „region of interest“ ausgeführt. Dabei ist die „region of interest“ im Startlevel gleich der Region des Eingabebildes Image. Nach der Filterung wird mittels einer Schwellenwert-Operation eine neue „region of interest“ bestimmt und auf die nächste Auflösungsstufe transformiert:
threshold(...:...:0,Threshold,...:), falls Mode = 'dfd'
threshold(...:...:Threshold,255,...:), falls Mode = 'norm_correlation'
In höchster Auflösung (Level 0) wird dann schließlich das abschließende Matching in der ermittelten „region of interest“ berechnet. Das Ausgabebild ImageMatch enthält das entsprechende Filterergebnis und als Region die endgültige „region of interest“, die mit einer Schwellenwert-Operation auf dem Ergebnisbild bestimmt wird.
exhaustive_match_mg ist daher kein reiner Filter, sondern ist auch zur Klasse der Regionentransformationen zu zählen.
Eingabebild.
Der Definitionsbereich dieses Bildes wird mit Image „gematcht“.
Ergebnisbild und -region: Werte des Matching-Kriteriums innerhalb der ermittelten „region of interest“.
Parameteranzahl: ImageMatch == Image
Gewünschtes Matching-Kriterium.
Defaultwert: 'dfd'
Werteliste: 'dfd', 'norm_correlation'
Startlevel in der Auflösungspyramide (höchste Auflösung: Level 0).
Defaultwert: 1
Werteliste: 0, 1, 2, 3, 4, 5, 6, 7, 8
Restriktion: Level < ld(width(Image)) && Level < ld(height(Image))
Schwelle zur Bestimmung der „region of interest“.
Defaultwert: 30
Wertevorschläge: 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95, 100, 105, 110, 115, 120, 125, 130, 135, 140, 145, 150, 155, 160, 165, 170, 175, 180, 185, 190, 195, 200, 205, 210, 215, 220, 225, 230, 235, 240, 245, 250
Typischer Wertebereich: 0 ≤ Threshold ≤ 255
Minimale Schrittweite: 1
Empfohlene Schrittweite: 5
read_image(&Image,"monkey"); disp_image(Image,WindowHandle); draw_rectangle2(WindowHandle,&Row,&Column,&Phi,&Length1,&Length2); gen_rectangle2(&Rectangle,Row,Column,Phi,Length1,Length2); reduce_domain(Image,Rectangle,&Template); exhaustive_match_mg(Image,Template,&ImageMatch,'dfd'1,30); invert_image(ImageMatch,&ImageInvert); local_max(ImageInvert,&BestFit); disp_region(BestFit,WindowHandle);
Sind die Parameterwerte korrekt, dann liefert exhaustive_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.
Foundation
| Operatoren |