Lesen und Vergleichen von Bildern

Dieser Dialog wird angezeigt, wenn Sie aus dem Medienzugriff-Tab einen Lesen-Testschritt für ein Bild oder eine Maske zum Testfall hinzufügen.

../../../_images/Multimedia_Bild_lesen.png

Der Dialog ist in vier Sektionen gegliedert:

Referenz

Hier kann das referenzierte Mapping-Item angegeben oder verändert werden.

Auf der rechten Seite des Dialogs wird das aktuell von der Kamera ausgelesene Bild angezeigt. Wenn eine Maske angewendet wurde, wird der maskierte Bereich hervorgehoben. Die Vorschau kann aktualisiert werden, indem Sie über einen Rechtsklick auf das Bild im Kontextmenü den Eintrag Aktualisieren wählen.

Filter

In diesem Bereich können Filter ausgewählt werden. Mit Filtern kann ein Bild nach dem Lesen von der Kamera manipuliert werden. Beispielsweise kann das Bild in ein Schwarz-Weiß-Bild umgewandelt oder die Schärfe erhöht werden. Filter werden vor dem Vergleich mit dem Erwartungswert bzw. vor der Analyse von Text angewendet. Mit der Checkbox können die Filter auf das Vergleichsbild wahlweise angewendet oder nicht angewendet werden.

In der linken Box befindet sich eine Übersicht der aktuell auf das Bild angewendeten Filter. Die Filter werden von oben nach unten angewendet.

In der rechten Box werden die Parameter des aktuell selektierten Filters aufgelistet. Unter „Wert“ können neben direkt eingegebenen Werten (Zahlen, Strings) auch Testfallvariablen und API-Aufrufe verwendet werden.

Auf der rechten Seite wird das gelesene, maskierte Bild mit applizierten Filtern angezeigt. Falls ein oder mehrere Filter nicht angewendet werden können, wird stattdessen ein Warndreieck als Bild angezeigt. Der Tooltip des Elements enthält Informationen zu dem Fehler.

Bild speichern

Hier kann optional ein Variablenname eingegeben werden, um das gelesene, maskierte und gefilterte Bild in einer Testfallvariable zu speichern.

Bewertung

Hier kann der Erwartungswert definiert werden. Es gibt drei unterschiedliche Typen von Erwartungswerten. Diese Typen können in dem Dropdown-Menü oben links im Tab „Vergleich“ ausgewählt werden.

Erwartungstyp Image

Das gelesene Bild wird mit einem oder mehreren Referenzbildern verglichen. Referenzbilder können zum Beispiel mit dem Maskeneditor erstellt werden.

Die Menge der Referenzbilder ergibt sich durch die Auswertung eines Referenz-Ausdrucks. Je nach gewählten Referenz-Typ sind hierfür verschiedene Eingaben zulässig:

Referenz-Typ

Zulässige Ausdrücke

Beispiele

Objekt

Image-Variable oder Liste von Image-Variablen

  • testCaseVariable

  • [var1, var2, var3]

Workspace

String oder eine Liste von Strings. Diese Strings müssen Pfade entsprechend der glob-Syntax sein und werden bei der Ausführung ausgehend vom aktuellen Workspaceverzeichnis aufgelöst.

  • 'Images/Car.png'

  • 'Images/**/*.png'

  • ['image1.png', 'image2.png']

  • ['dir1/*.png', 'dir2/*.png']

Bildverzeichnis (nur bei Bild- Lesen verfügbar)

String oder eine Liste von Strings. Diese Strings müssen Pfade der glob-Syntax sein und werden bei der Ausführung ausgehen vom Bildverzeichnis des zugehörigen Geräts aufgelöst.

  • 'Images/Car.png'

  • 'Images/**/*.png'

  • ['image1.png', 'image2.png']

  • ['dir1/*.png', 'dir2/*.png']

Des Weiteren können zwei Toleranz-Werte für den Bildvergleich definiert werden:

  • Farbtoleranz: Pixel, deren Farbwerte um weniger als X voneinander abweichen, werden als „gleich“ betrachtet. X ist hierbei eine Zahl zwischen 0 und 255. Bei 0 müssen zwei Pixel exakt die gleichen Farbwerte besitzen. Wenn 255 angegeben wird, werden alle Pixel als gleich betrachtet. Die Abweichung wird auf jedem Kanal - rot, grün und blau - betrachtet.

  • Toleranz: Hier kann angegeben werden, wieviele Pixel im gesamten Bild voneinander abweichen dürfen, damit zwei Bilder als „gleich“ betrachtet werden. Die Angabe erfolgt in Prozent. 0% bedeutet, dass alle Pixel übereinstimmen müssen. 100% bedeutet, dass kein Pixel übereinstimmen muss - zwei Bilder werden in diesem Fall immer als „gleich“ betrachtet. Die Toleranz wird nach der Farbtoleranz betrachtet.

Auf der rechten Seite wird das Vergleichsbild angezeigt. Zuvor definierte Filter werden auch auf dieses Vergleichsbild angewendet.

Erwartungstyp String

Nach dem Anwenden der Filter wird eine Texterkennung (OCR) auf das gelesene Bild angewendet. Der erkannte Text kann dann mit dem Erwartungswert verglichen werden.

Sollten nicht alle Texte zufriedenstellend erkannt werden, ist es eventuell notwendig, das Bild mit Filtern oder Masken vorzuverarbeiten. Im Allgemeinen liefert ein schwarzer Text auf weißem Grund die beste Erkennungsrate. Die Skalierung des Bildes und damit der Textgröße, wirkt sich ebenfalls auf die Erkennungsrate aus. Die Höhe eines kleinen „x“ sollte bestenfalls im Bereich von 10-30 Pixel liegen, wobei hier auch die verwendete Schriftart eine Verschiebung der Werte bewirken kann. Auch das Eingrenzen des Bildes auf die entsprechende Textstelle mittels einer Maske kann die Texterkennung verbessern.

Alternativ kann auf einer Image-Variable die API-Methode FindText aufgerufen werden. Diese wendet bereits diverse Vorverarbeitungen an, um nach Positionen von Textstellen zu suchen.

Erwartungstyp Unspecific

Hier kann der Erwartungswert direkt angegeben werden. „value“ stellt hierbei ein Image-Objekt dar. Die Schnittstelle des Image-Objekts ist in der API-Dokumentation hinterlegt.

Weitere Informationen