Region der Hypothese abgerufen werden. Beim Anzeigen der Region der Hypothese im Bild oder beim Erstellen eines Blocks auf Grundlage der Hypothese folgen die Grenzen der Region nicht exakt den Begrenzungen jedes Rechtecks. Stattdessen werden die Grenzen des Suchbereichs zur besseren Visualisierung geglättet. Eine so erstellte Region kann über die Methode SimplifiedRegion der Hypothese abgerufen werden. Die Methoden Region und SimplifiedRegion können entweder im Abschnitt Search Conditions (bei der Beschreibung des Suchbereichs des Elements) oder bei der Beschreibung der Blockeigenschaften und der Verwendung der bereits gefundenen Elemente verwendet werden.
Wurde eine Hypothese nicht gefunden, fällt sie mit dem unscharfen Rechteck ihres Suchbereichs zusammen. Beim Anzeigen einer nicht gefundenen Hypothese im Bild zeichnet das Programm das äußere Rechteck des unscharfen Rechtecks.
Die linken, oberen, rechten und unteren Grenzen einer Hypothese sind Wertebereiche. Für jede gefundene Hypothese schrumpft der Bereich zu einem Punkt, d. h. Left.Start = Left.End, top.Start = top.End usw. Für eine nicht gefundene Hypothese stimmen die Bereiche der Grenzen mit den Bereichen ihres Suchbereichs überein.
Der Zugriff auf generierte Hypothesen und deren Eigenschaften im Code der entsprechenden Dialogfelder von Blöcken und Elementen bietet zusätzliche Werkzeuge für die Einrichtung des FlexiLayouts. Auf Elementhypothesen kann über die Namen der Elemente zugegriffen werden. Um im Abschnitt Hypotheses Evaluation auf eine Hypothese für das aktuelle Element zuzugreifen, können Sie nur den Namen der Eigenschaft verwenden.
Auf Hypothesen und ihre Eigenschaften wird im Nur-Lese-Modus zugegriffen. Auf Hypothesen für Elemente kann in den Abschnitten Search Conditions und Hypotheses Evaluation sowie im Code-Editor des Felds zugegriffen werden. In Search Conditions können Sie auf die generierten Hypothesen (und deren Eigenschaften) für alle Elemente zugreifen, die im Elemente-Baum oberhalb des aktuellen Elements stehen. In Hypotheses Evaluation können Sie auf die generierten Hypothesen für die Elemente zugreifen, die im Elemente-Baum oberhalb des aktuellen Elements stehen, sowie auf die Hypothese für das aktuelle Element selbst. Im Code-Editor des Felds können Sie auf die Hypothesen (und deren Eigenschaften) für alle Elemente zugreifen.
Die folgende Tabelle führt die Eigenschaften von Hypothesen für alle Elementtypen auf.
| Property | Description |
|---|---|
Logic IsNull() | Ob es sich um eine Nullhypothese handelt (wenn das Element erkannt wurde, ist die IsNull-Eigenschaft der Hypothese True). |
Logic IsFound() | Ob die Hypothese nicht null ist (wenn das Element nicht erkannt wurde, ist die IsNull-Eigenschaft der Hypothese False). Entspricht IsNull. |
XInterval Left() | Die linke Begrenzung der Hypothese, horizontaler Bereich in globalen Koordinaten. |
YInterval top() | Die obere Begrenzung der Hypothese, vertikaler Bereich in globalen Koordinaten. |
XInterval Right() | Die rechte Begrenzung der Hypothese, horizontaler Bereich in globalen Koordinaten. |
YInterval Bottom() | Die untere Begrenzung der Hypothese, vertikaler Bereich in globalen Koordinaten. |
XInterval XCenter() | Die X-Koordinate des Zentrums der Hypothese, horizontaler Bereich in globalen Koordinaten. |
YInterval YCenter() | Die Y-Koordinate des Zentrums der Hypothese, vertikaler Bereich in globalen Koordinaten. |
DistInterval Width() | Die Breite der Hypothese in globalen Koordinaten, Distanzbereich. |
DistInterval Height() | Die Höhe der Hypothese in globalen Koordinaten, Distanzbereich. |
FuzzyRect FuzzyRect() | Fuzzy-Rechteck der Hypothese in globalen Koordinaten. |
Rect Rect() | Das die Hypothese umschreibende Rechteck in globalen Koordinaten. Entspricht dem äußeren Rechteck des Fuzzy-Rechtecks. |
Region Region() | Die Region der Hypothese in globalen Koordinaten. Die Methode wird für Group-Elemente nicht unterstützt. |
Region SimplifiedRegion() | Die Region der Hypothese in globalen Koordinaten, vereinfacht für eine bessere visuelle Darstellung. Die Methode wird für Group-Elemente nicht unterstützt. |
ImageObjectSet Set() | Die Bildobjekte, die Teil der Hypothese sind. |
ImageObjectSet ExcludeSet() | Die Bildobjekte, die sich in der Region befinden, die durch Methoden vom Typ Exclude aus dem Suchbereich ausgeschlossen wurde. |
RectArray Rects() | Das Array der Rechtecke, die in die Hypothese einbezogen sind. Für die meisten Elemente entspricht es dem Array der Rechtecke, die erkannte Objekte umschließen. Für White-Gap- und Region-Elemente sind keine Objekte verfügbar. |
Int HypothesesCount() | Die Anzahl der Hypothesen, die für das Element im Suchbereich formuliert werden können. Die Funktion darf nur verwendet werden, wenn die maximale und minimale Seitenzahl im Dokument auf 1 gesetzt ist, d. h. das erkannte Dokument hat nur eine Seite. Bei Verwendung dieser Funktion für ein mehrseitiges Dokument führt das Abgleichen eines FlexiLayout zu einem Fehler. |
PageInterval Pages() | Der Seitenbereich, in dem die Hypothese zu finden ist. |
PageArea PageAreaGlobal( Int PageNumber ) | Gibt den Teil der Hypothese zurück, der sich auf der angegebenen Seite in globalen Koordinaten befindet. |
PageArea PageAreaLocal( Int PageNumber ) | Gibt den Teil der Hypothese zurück, der sich auf der angegebenen Seite in den lokalen Koordinaten der Seite befindet. |
Beispielcode zum Aufrufen von Hypotheseneigenschaften
IsNull auf). Der Zugriff auf eine Eigenschaft einer Nullhypothese (die einem nicht erkannten Element entspricht) führt zu einem Fehler.
Angenommen, es gibt einen Bezeichner auf Ihrem Document in Form eines Barcodes und Sie möchten, dass Ihr FlexiLayout nur jene Documents abgleicht, bei denen der Barcode den Wert 1556897142240 hat. Gehen Sie wie folgt vor, um das gewünschte Ergebnis zu erreichen. Schreiben Sie im Abschnitt Hypotheses Evaluation des Elements, das die Eigenschaften und Suchbeschränkungen des Barcodes beschreibt, den folgenden Code:
Quality: 0; den Wert der Hypothese auf 0 zurück. Danach wird für dieses Element eine Nullhypothese erzeugt, für die das Programm ebenfalls die Bedingung value != "1556897142240" prüft. Da der Zugriff auf den Wert einer Nullhypothese nicht zulässig ist (sie besitzt diese Eigenschaft nicht), gibt das Programm die Fehlermeldung “…undefined hypothesis…” aus.
Daher müssen Sie den Code wie folgt anpassen:
else {Quality: 0;} hinzufügen, wird die Anweisung für alle Hypothesen (einschließlich der Nullhypothese) ausgeführt, und das Matching des FlexiLayout wird gestoppt, da die gesamte Kette von Hypothesen an diesem Element ebenfalls auf 0 zurückgesetzt wird.
Methoden Region Region() und Region SimplifiedRegion() im Vergleich
Region Region() und Region SimplifiedRegion() geben die Region eines Elements zurück. Dabei liefert Region Region() die exakte Region, während Region SimplifiedRegion() das auf den Begrenzungskoordinaten basierende Rectangle zurückgibt.