Handbuch

3.3+51
Details des Algorithmus zum Bildvergleich
51.1
Einführung

Der klassische 'Check Abbild' Knoten ist nur minimal tolerant gegenüber Abweichungen. Mit diesem Algorithmus, der einen Vergleich Pixel für Pixel durchführt, ist es nicht möglich, Bilder zu vergleichen, die nicht-deterministisch generiert werden oder nicht die exakt gleiche Größe aufweisen.

Mittels dem Attribut 'Algorithmus zum Bildvergleich' ist es möglich, einen speziellen Algorithmus zu definieren, der tolerant gegenüber gewissen Änderungen Abbild-Vergleiche durchführt. Das Attribut muss mit der Algorithmus-Definition in Form von algorithm=<algorithm> starten. Anschließend folgen alle notwendigen Parametern, die jeweils mit Semikolons voneinander getrennt sind.
Die Parameter können in beliebiger Reihenfolge angegeben werden, auch die Verwendung von Variablen ist erlaubt.

algorithm=<algo>;parameter1=value1;parameter2=value2;expected=$(expected)

3.5.1+ Seit QF-Test 3.5.1 muss die Definition nicht mehr mit algorithm=<algorithm> starten, sondern kann einfach mit <algorithm> beginnen.
Es ist auch nicht mehr notwendig, den Parameter 'expected' zu definieren. QF-Test benutzt einen Default-Wert, wenn keiner angegeben ist. Mehr Informationen dazu finden Sie unten.

Eine detaillierte Beschreibung der verfügbaren Algorithmen und ihrer Parameter folgt im folgenden Abschnitt. Zum besseren Verständnis werden die Algorithmen beispielhaft auf dieses Bild angewendet:

Ausgangsbild
Abbildung 51.1:  Ausgangsbild

Im Protokoll (vgl. Abschnitt 8.1) eines fehlgeschlagenen Checks haben Sie die Möglichkeit die Ergebnisbilder des benutzten Algorithmus sowie die Übereinstimmungswahrscheinlichkeit zu analysieren.
Wenn die Option Erfolgreiche tolerante Abbildvergleiche in das Protokoll schreiben aktiviert ist, werden alle toleranten Abbildvergleiche in das Protokoll geschrieben und stehen für weitere Analysen zur Verfügung.

51.2
Beschreibung der Algorithmen
51.2.1
Klassischer Bildvergleich
Beschreibung
Der klassische Bildvergleich prüft für jedes einzelne Pixel, ob der erwartete Farbwert dem erhaltenen Farbwert entspricht. Sollte mindestens ein erhaltenes Pixel nicht dem erwarteten Pixel entsprechen, so schlägt der Check fehl. Die Option Erlaubte Abweichung beim Check von Abbildern erlaubt dabei das Setzen einer Toleranzschwelle für den Pixelvergleich.
Einsatzzweck
Dieser pixelbasierte Vergleich ist immer dann geeignet, wenn ein nahezu exaktes Abbild erwartet wird und nur geringe oder keine Toleranzen oder Abweichungen zugelassen sind. Sobald Ihre Anwendung jedoch das Aussehen der zu prüfenden Komponente nicht mit jedem Testlauf identisch generiert, ist dieser Algorithmus nicht geeignet.
Beispiel
Der klassische Bildvergleich führt keine Manipulationen durch, daher sieht das Ergebnis aus wie das Ausgangsbild.
Klassischer Bildvergleich
Abbildung 51.2:  Klassischer Bildvergleich

Der klassische Bildvergleich wird verwendet, wenn das 'Algorithmus zum Bildvergleich' Attribute leer ist.

51.2.2
Pixelbasierter Vergleich
Beschreibung
Dieser Algorithmus ist ähnlich zum klassischen Bildvergleich mit dem Unterschied, dass er eine gewisse prozentuale Anzahl von abweichenden Pixeln akzeptiert. Zuerst teilt er jedes Pixel in seine drei Farbbestandteile rot, grün und blau. Anschließend wird jeder dieser drei Werte mit den jeweils erwarteten Farbwerten verglichen. Das Ergebnis ist die Anzahl der identischen Pixel geteilt durch die Gesamtanzahl der Pixel.
Einsatzzweck
Falls Ihre zu prüfenden Bilder nicht mit jedem Lauf identisch generiert werden, Sie aber eine prozentuale Anzahl von abweichenden Pixeln akzeptieren, könnte dieser Algorithmus sinnvoll sein.
Er ist jedoch nicht brauchbar, wenn das erhaltene Abbild gegenüber dem erwarteten Abbild Verschiebungen oder Zerrungen aufweist.
Beispiel
Da der pixelbasierte Vergleich keine Manipulationen durchführt, sieht das Ergebnis bei Verwendung des beispielhaften Algorithmus
algorithm=identity;expected=0.95
aus wie das Ausgangsbild.
Pixelbasierter Vergleich
Abbildung 51.3:  Pixelbasierter Vergleich
Parameter
algorithm=identity
Gibt an, dass der 'Pixelbasierte Vergleich' verwendet werden soll.
expected (optional, aber empfohlen)
Gibt an, welche Mindestübereinstimmung erwartet wird.
Gültig ist ein Wert zwischen 0.0 und 1.0. Falls nicht definiert, wird 0.98 verwendet.
resize (optional)
Gibt an, dass das erhaltene Bild auf die gleiche Größe gebracht wird wie das erwartete Bild.
Gültige Werte sind "true" und "false".
find (optional)
Gibt an, dass eine Bild-in-Bild Suche durchgeführt werden soll.
Eine genaue Beschreibung dieses Parameters ist in Abschnitt 51.3.1 erläutert.
51.2.3
Pixelbasierte Ähnlichkeitsanalyse
Beschreibung
Dieser Algorithmus zerlegt jedes Pixel in seine drei Farbbestandteile rot, grün und blau. Anschließend wird jeder dieser drei Werte mit den jeweils erwarteten Farbwerten verglichen und eine prozentuale Ähnlichkeit ermittelt. Die prozentualen Abweichungen werden aufsummiert und bilden nach Berechnung des Durchschnitts über die frei Farbwerte sowie über alle Pixel des Abbildes die gesamte Ähnlichkeit. Dieser erhaltene Wert wird mit einem erwarteten Wert verglichen und bestimmt somit den Erfolg des Vergleichs.
Einsatzzweck
Falls Ihre zu prüfenden Abbilder nicht mit jedem Lauf identisch sind, Sie aber eine gewisse Abweichung akzeptieren, ist dieser Algorithmus ein möglicher Kandidat für den Einsatz.
Falls für einzelne Pixel eine große Farbabweichung akzeptiert wird, solange die mittlere Abweichung in einem definierten Rahmen bleibt, ist dieser Algorithmus ebenfalls geeignet.
Ungeeignet ist er jedoch, wenn das erhaltene Abbild gegenüber dem erwarteten Abbild Verschiebungen oder Zerrungen aufweist.
Beispiel
Da die pixelbasierte Ähnlichkeitsanalyse keine Manipulationen durchführt, sieht das Ergebnis bei Verwendung des beispielhaften Algorithmus
algorithm=similarity;expected=0.95
aus wie das Ausgangsbild.
Pixelbasierte Ähnlichkeitsanalyse
Abbildung 51.4:  Pixelbasierte Ähnlichkeitsanalyse
Parameter
algorithm=similarity
Gibt an, dass die 'Pixelbasierte Ähnlichkeitsanalyse' verwendet werden soll.
expected (optional, aber empfohlen)
Gibt an, welche Mindestübereinstimmung erwartet wird.
Gültig ist ein Wert zwischen 0.0 und 1.0. Falls nicht definiert, wird 0.98 verwendet.
resize (optional)
Gibt an, dass das erhaltene Bild auf die gleiche Größe gebracht wird wie das erwartete Bild.
Gültige Werte sind "true" und "false".
find (optional)
Gibt an, dass eine Bild-in-Bild Suche durchgeführt werden soll.
Eine genaue Beschreibung dieses Parameters ist in Abschnitt 51.3.1 erläutert.
51.2.4
Blockbildung mit Vergleich
Beschreibung
Bei Verwendung dieses Algorithmus werden quadratische Blöcke mit frei wählbarer Größe gebildet. Der Farbwert der einzelnen Blöcke berechnet sich dabei aus dem Durchschnitt der Farbwerte, die der jeweilige Block überdeckt. Falls die Breite beziehungsweise Höhe des untersuchten Abbilds nicht ein Vielfaches der Blockgröße ist, werden die Blöcke am rechten beziehungsweise unteren Rand dementsprechend abgeschnitten und mit niedrigerem Gewicht gewertet.
Die erhaltenen Blöcke werden gegen die erwarteten Blöcke geprüft. Als Ergebnis wird der Anteil der identischen Blöcke im Vergleich zur Gesamtanzahl unter Berücksichtigung eventuell gewichteter Randblöcke ermittelt.
Einsatzzweck
Dieser Algorithmus ist dafür vorgesehen, wenn ein Teil Ihres zu prüfenden Abbildes sich von Lauf zu Lauf ändert, aber der Rest des Bildes jedes mal identisch ist.
Beispiel
Der beispielhafte Algorithmus
algorithm=block;size=10;expected=0.95
führt zu folgendem Ergebnisbild:
Blockbildung mit Vergleich
Abbildung 51.5:  Blockbildung mit Vergleich
Parameter
algorithm=block
Gibt an, dass 'Blockbildung mit Vergleich' verwendet werden soll.
size
Definiert die zu verwendende Größe der einzelnen Blöcke.
Gültig ist ein Wert zwischen 1 und der der Bildgröße.
expected (optional, aber empfohlen)
Gibt an, welche Mindestübereinstimmung erwartet wird.
Gültig ist ein Wert zwischen 0.0 und 1.0. Falls nicht definiert, wird 0.98 verwendet.
resize (optional)
Gibt an, dass das erhaltene Bild auf die gleiche Größe gebracht wird wie das erwartete Bild.
Gültige Werte sind "true" und "false".
find (optional)
Gibt an, dass eine Bild-in-Bild Suche durchgeführt werden soll.
Eine genaue Beschreibung dieses Parameters ist in Abschnitt 51.3.1 erläutert.
51.2.5
Blockbildung mit Ähnlichkeitsanalyse
Beschreibung
Auch bei diesem Algorithmus werden zunächst quadratische Blöcke mit frei wählbarer Größe gebildet. Der Farbwert der einzelnen Blöcke berechnet sich dabei aus dem Durchschnitt der Farbwerte, die der jeweilige Block überdeckt. Falls die Breite beziehungsweise Höhe des untersuchten Abbilds nicht ein Vielfaches der Blockgröße ist, werden die Blöcke am rechten beziehungsweise unteren Rand dementsprechend abgeschnitten und mit niedrigerem Gewicht gewertet.
Die erhaltenen Blöcke werden gegen die erwarteten Blöcke geprüft. Anschließend werden die Farbwerte der Blöcke miteinander verglichen und die Ähnlichkeit analysiert. Die Mittelwerte der Ähnlichkeiten kombiniert mit der Gewichtung der jeweiligen Blöcke bilden das Ergebnis.
Einsatzzweck
Mittels der Mittelwertsbildung einzelner Quadrate sowie eine Ähnlichkeitsuntersuchung ebendieser eignet sich der Algorithmus allgemein zum Vergleich von variierenden Bildern, die jedoch eine übereinstimmende Verteilung ähnlicher Farben aufweisen.
Beispiel
Der beispielhafte Algorithmus
algorithm=blocksimilarity;size=5;expected=0.95
führt zu folgendem Ergebnisbild:
Blockbildung mit Ähnlichkeitsanalyse
Abbildung 51.6:  Blockbildung mit Ähnlichkeitsanalyse
Parameter
algorithm=blocksimilarity
Gibt an, dass 'Blockbildung mit Ähnlichkeitsanalyse' verwendet werden soll.
size
Definiert die zu verwendende Größe der einzelnen Blöcke.
Gültig ist ein Wert zwischen 1 und der der Bildgröße.
expected (optional, aber empfohlen)
Gibt an, welche Mindestübereinstimmung erwartet wird.
Gültig ist ein Wert zwischen 0.0 und 1.0. Falls nicht definiert, wird 0.98 verwendet.
resize (optional)
Gibt an, dass das erhaltene Bild auf die gleiche Größe gebracht wird wie das erwartete Bild.
Gültige Werte sind "true" und "false".
find (optional)
Gibt an, dass eine Bild-in-Bild Suche durchgeführt werden soll.
Eine genaue Beschreibung dieses Parameters ist in Abschnitt 51.3.1 erläutert.
51.2.6
Häufigkeitsanalyse mittels Histogramm
Beschreibung
Eine Farbhäufigkeitsanalyse zerlegt das Abbild zuerst in seine drei Grundfarbtöne rot, grün und blau. Anschließend werden für jedes Pixel die Farbwerte dieser drei Farbtöne ermittelt. Diese Farbwerte werden in eine relativ frei wählbaren Anzahl von Kategorien aufgeteilt. Anschließend wird der Füllgrad dieser Kategorien ermittelt. Das Ergebnis dieses Algorithmus ist der Vergleich der Füllgrade jeder Kategorie und somit implizit ein Vergleich der Häufigkeiten von Farbkategorien.
Einsatzzweck
Histogramme dienen sehr unterschiedlichen Zwecken. Es ist mit ihnen zum Beispiel möglich, Farbtendenzen zu ermitteln oder Helligkeitsuntersuchungen durchzuführen.
Nicht geeignet sind sie jedoch zum Vergleich von sehr einfarbigen Bildern.
Beispiel
Der beispielhafte Algorithmus
algorithm=histogram;buckets=64;expected=0.95
führt zu folgendem Ergebnisbild:
Häufigkeitsanalyse mittels Histogramm
Abbildung 51.7:  Häufigkeitsanalyse mittels Histogramm
Parameter
algorithm=histogram
Gibt an, dass eine 'Häufigkeitsanalyse mittels Histogramm' durchgeführt werden soll.
buckets
Gibt an, wieviele Farbabstufungen verwendet werden sollen.
Gültig ist eine Potenz zur Basis 2 von 2 bis 256.
expected (optional, aber empfohlen)
Gibt an, welche Mindestübereinstimmung erwartet wird.
Gültig ist ein Wert zwischen 0.0 und 1.0. Falls nicht definiert, wird 0.98 verwendet.
resize (optional)
Gibt an, dass das erhaltene Bild auf die gleiche Größe gebracht wird wie das erwartete Bild.
Gültige Werte sind "true" und "false".
find (optional)
Gibt an, dass eine Bild-in-Bild Suche durchgeführt werden soll.
Eine genaue Beschreibung dieses Parameters ist in Abschnitt 51.3.1 erläutert.
51.2.7
Bildanalyse mittels Diskreter Kosinustransformation
Beschreibung
Die Diskrete Kosinustransformation (DCT) ist eine reellwertige, diskrete, lineare, orthogonale Transformation, die das diskrete Signal vom Ortsbereich in den Frequenzbereich transformiert.
Nachdem ein Bild transformiert wurde, lassen sich niederwertige (schnell schwingende) Frequenzen eliminieren und nur die höherwertigen (langsam schwingende) Frequenzen sowie der Gleichanteil (0. Frequenz = 0*cos(x) + y) betrachten. Sie können frei bestimmen, wieviele Frequenzen jeweils pro Farbkanal zum Bildvergleich herangezogen werden und mit welcher Toleranz zwei Kosinus-Schwingungen als identisch angesehen werden. Bei der Berechnung der Übereinstimmungswahrscheinlickeit werden niederwertige Frequenzen mit deutlich geringerem Anteil gewichtet als höherwertige Frequenzen.
Einsatzzweck
Die Diskrete Kosinustransformation eignet sich im Prinzip für alle Arten von Bildvergleichen, die eine gewisse Toleranz erfordern, da sowohl Farbverteilungen, Farbhäufungen als auch Farbwiederholungen berücksichtigt werden. Je mehr Frequenzen zur Untersuchung herangezogen werden, desto schärfer wird der Bildvergleich durchgeführt.
Beispiel
Der beispielhafte Algorithmus
algorithm=dct;frequencies=20;tolerance=0.1;expected=0.95
führt zu folgendem Ergebnisbild:
Bildanalyse mittels Diskreter Kosinustransformation
Abbildung 51.8:  Bildanalyse mittels Diskreter Kosinustransformation
Parameter
algorithm=dct
Gibt an, dass eine 'Bildanalyse mittels Diskreter Kosinustransformation' durchgeführt werden soll.
frequencies
Gibt an, wie viele Frequenzen betrachtet werden sollen.
Gültig ist ein Wert zwischen 0 (nur Gleichanteil) und der Fläche des Bildes.
Je weniger Frequenzen betrachtet werden, desto unschärfer wird der Vergleich. Außerdem gilt zu beachten, dass die Schärfe einer bestimmten Anzahl von Frequenzen von der Bildgröße abhängt.
tolerance
Gibt an, bis zu welcher (nicht linearen) Abweichung jede einzelne Frequenz als gleich angesehen wird.
Gültig ist ein Wert zwischen 0.0 und 1.0.
Der Wert 1.0 bedeutet, dass jedes Bild akzeptiert wird, da je Frequenz die maximale Abweichung als gültig erlaubt ist. Ein Wert von 0.0 bedeutet, dass keine Abweichung pro Frequenz akzeptiert wird und der Vergleich somit nur identische Schwingungen als identisch akzeptiert. Der Wert 0.1 gilt als Standard, da dieser nur extrem ähnliche Frequenzen als identisch akzeptiert.
expected (optional, aber empfohlen)
Gibt an, welche Mindestübereinstimmung erwartet wird.
Gültig ist ein Wert zwischen 0.0 und 1.0. Falls nicht definiert, wird 0.98 verwendet.
resize (optional)
Gibt an, dass das erhaltene Bild auf die gleiche Größe gebracht wird wie das erwartete Bild.
Gültige Werte sind "true" und "false".
find (optional)
Gibt an, dass eine Bild-in-Bild Suche durchgeführt werden soll.
Eine genaue Beschreibung dieses Parameters ist in Abschnitt 51.3.1 erläutert.
51.2.8
Blockbildung zur Bildanalyse mittels Diskreter Kosinustransformation
Beschreibung
Bei Verwendung dieses Algorithmus wird das Bild in einzelne frei definierbare quadratische Bereiche eingeteilt (vgl. Abschnitt 51.2.4). Anschließend wird für jeden dieser Bereiche eine Diskrete Kosinustransformation (vgl. Abschnitt 51.2.7) durchgeführt. Der Mittelwert der Ergebnisse der einzelnen Diskreten Kosinustransformationen aller Bereiche sowie gewichteten Randbereiche bildet das Gesamtergebnis.
Einsatzzweck
Die Diskrete Kosinustransformation über das gesamte Bild reagiert stark auf Helligkeitsabweichungen, die im zentralen Bereich des Bildes auftreten, da damit der Gleichanteil (0. Frequenz), die den am höchsten gewichteten Anteil darstellt, stark variiert. Die Einteilung in einzelne Bereiche umgeht dieses Phänomen, da nur noch der betroffene Bereich eine starke Abweichung aufweist, die anderen Bereiche jedoch davon nicht betroffen sind.
Beispiel
Der beispielhafte Algorithmus
algorithm=dctblock;size=32;frequencies=4;tolerance=0.1;expected=0.95
führt zu folgendem Ergebnisbild:
Blockbildung zur Bildanalyse mittels Diskreter Kosinustransformation
Abbildung 51.9:  Blockbildung zur Bildanalyse mittels Diskreter Kosinustransformation
Parameter
algorithm=dctblock
Gibt an, dass eine 'Blockbildung zur Bildanalyse mittels Diskreter Kosinus Transformation' durchgeführt werden soll.
frequencies
Gibt an, wie viele Frequenzen betrachtet werden sollen.
Gültig ist ein Wert zwischen 0 (nur Gleichanteil) und der Fläche eines Blockes.
Je weniger Frequenzen betrachtet werden, desto unschärfer wird der Vergleich. Außerdem gilt zu beachten, dass die Schärfe einer bestimmten Anzahl von Frequenzen von der Bildgröße abhängt.
tolerance
Gibt an, bis zu welcher (nicht linearen) Abweichung jede einzelne Frequenz als gleich angesehen wird.
Gültig ist ein Wert zwischen 0.0 und 1.0.
Der Wert 1.0 bedeutet, dass jedes Bild akzeptiert wird, da je Frequenz die maximale Abweichung als gültig erlaubt ist. Ein Wert von 0.0 bedeutet, dass keine Abweichung pro Frequenz akzeptiert wird und der Vergleich somit nur identische Schwingungen als identisch akzeptiert. Der Wert 0.1 gilt als Standard, da dieser nur extrem ähnliche Frequenzen als identisch akzeptiert.
size
Definiert die zu verwendende Größe der einzelnen Blöcke.
Gültig ist eine Potenz zur Basis 2 zwischen 2 und der Bildgröße.
expected (optional, aber empfohlen)
Gibt an, welche Mindestübereinstimmung erwartet wird.
Gültig ist ein Wert zwischen 0.0 und 1.0. Falls nicht definiert, wird 0.98 verwendet.
resize (optional)
Gibt an, dass das erhaltene Bild auf die gleiche Größe gebracht wird wie das erwartete Bild.
Gültige Werte sind "true" und "false".
find (optional)
Gibt an, dass eine Bild-in-Bild Suche durchgeführt werden soll.
Eine genaue Beschreibung dieses Parameters ist in Abschnitt 51.3.1 erläutert.
51.2.9
Bilinearer Filter
Beschreibung
Dieser Algorithmus verkleinert das zu prüfende Bild auf eine wählbare prozentuale Größe. Anschließend wird das Bild wieder auf die ursprüngliche Größe vergößert unter Verwendung eines bilinearen Filters. Dieser Filter bewirkt eine Unschärfe, da beim Strecken des Bildes Nachbarpixel berücksichtigt werden und somit ein Farbverlauf entsteht.
Die transformierten Bilder werden anschließend einem pixelbasierten Ähnlichkeitsvergleich unterzogen.
Einsatzzweck
Abhängig von der gewählten Schärfe gehen beliebig viele Bildinformationen verloren. Somit ist dieser Algorithmus, je nach Schärfe, für nahezu beliebige Einsatzzwecke geeignet.
Beispiel
Der beispielhafte Algorithmus
algorithm=bilinear;sharpness=0.2;expected=0.95
führt zu folgendem Ergebnisbild:
Bilinearer Filter
Abbildung 51.10:  Bilinearer Filter
Parameter
algorithm=bilinear
Gibt an, dass der 'Bilinearer Filter' auf die Bilder angewendet werden soll.
sharpness
Gibt an, wie scharf das Ergebnis des bilinearen Filters sein soll.
Gültig ist ein Wert zwischen 0.0 (kompletter Informationsverlust) und 1.0 (kein Informationsverlust).
Die Schärfe ist eine lineare Angabe, so geht bei einem Wert von 0.5 genau die Hälfte (plusminus Rundung auf ganze Pixel) der Bildinformation verloren.
expected (optional, aber empfohlen)
Gibt an, welche Mindestübereinstimmung erwartet wird.
Gültig ist ein Wert zwischen 0.0 und 1.0. Falls nicht definiert, wird 0.98 verwendet.
resize (optional)
Gibt an, dass das erhaltene Bild auf die gleiche Größe gebracht wird wie das erwartete Bild.
Gültige Werte sind "true" und "false".
find (optional)
Gibt an, dass eine Bild-in-Bild Suche durchgeführt werden soll.
Eine genaue Beschreibung dieses Parameters ist in Abschnitt 51.3.1 erläutert.
51.3
Beschreibung der speziellen Funktionen
51.3.1
Bild-in-Bild Suche
Beschreibung
Die Bild-in-Bild Suche ermöglicht es, ein erwartetes Abbild innerhalb eines (größeren) Gesamtbildes zu suchen. Der Vergleich ist erfolgreich, wenn das erwartete Abbild irgendwo innerhalb des erhaltenen Abbildes mit Hilfe des definierten Algorithmus gefunden wurde.
Außerdem kann man die Position des Treffers ermitteln.
Folgende Parameterkombinationen sind gültig:

find=best oder find=anywhere
find=best(resultX, resultY) oder find=anywhere(resultX, resultY)

Einsatzzweck
Die Bild-in-Bild Suche ermöglicht es, Abbilder zu vergleichen, wenn man die genaue Position nicht kennt. Da die Suche mit jedem Algorithmus kombiniert werden kann, ist sie in beliebigen Situationen anwendbar.
Beispiel
Der beispielhafte Algorithmus
algorithm=similarity;expected=0.95;find=best(resultX,resultY)
verwendet die pixelbasierte Ähnlichkeitsanalyse (vgl. Abschnitt 51.2.3) um ein Abbild des Q auf dem Gesamtbild zu suchen. Das erhaltene Abbild inklusive Bereichsmarkierung kann im Protokoll eingesehen werden und sieht wie folgt aus. Außerdem werden die Variablen resultX und resultY auf die Positionsinformationen gesetzt.
Bild-in-Bild Suche: Erwartetes Abbild
Abbildung 51.11:  Bild-in-Bild Suche: Erwartetes Abbild
Bild-in-Bild Suche: Erhaltenes Abbild
Abbildung 51.12:  Bild-in-Bild Suche: Erhaltenes Abbild
Parameter
find=best
Gibt an, dass der beste Treffer als Ergebnis gewertet wird.
find=anywhere
Gibt an, dass der erste Treffer, der besser als die erwartete Wahrscheinlichkeit ist, als Ergebnis gewertet wird.
Da die Bild-in-Bild Suche mit mehreren Threads durchgeführt wird, kann das Ergebnis hier nicht deterministisch sein.
resultX
resultX ist ein beliebiger Variablenname. Nach dem Vergleich beschreibt er die x-Position des gefundenen Bildes.
Wenn eine Variable für die x-Position definiert ist, dann muss auch eine Variable für die y-Position angegeben sein (siehe Syntax oben).
resultY
resultY ist ein beliebiger Variablenname. Nach dem Vergleich beschreibt er die y-Position des gefundenen Bildes.
Wenn eine Variable für die y-Position definiert ist, dann muss auch eine Variable für die x-Position angegeben sein (siehe Syntax oben).