Overlays

Ein Overlay ist eine feste Form, die das Cockpit über ein Bild zeichnet - eine Region von Interesse, eine Ausrichtmarke, eine Grenze, an der der Bediener ein Teil beurteilen soll. Es wird auf Einzelbilder und auf die Frames einer Live-Ansicht gleichermaßen gezeichnet. Anders als die Funde in Ergebnisse ansehen stammt ein Overlay von Ihnen und nicht von einer Anwendung, und es ändert sich nicht von Frame zu Frame.

Overlays werden in einer JSON-Datei konfiguriert, der Einstellungsdatei des Cockpits:

Auf ctrlX OS: Die Datei ist über die Dateiansicht auf dem ctrlX-Startbildschirm erreichbar.

Auf einem PC: Die Datei ist lumiscan-cockpit.json in dem Ordner, aus dem das Cockpit seine Einstellungen liest. Unter Windows ist das %APP_RESOURCE_DIR%\etc\lumiscan-cockpit, wenn die Umgebungsvariable APP_RESOURCE_DIR gesetzt ist, andernfalls C:\ProgramData\HD Vision Systems GmbH\LumiScan Vision Suite\lumiscan-cockpit\etc\lumiscan-cockpit. Öffnen Sie sie in einem beliebigen Texteditor, am besten in einem, der JSON gegen das Schema im Ordner schemas prüft. Das Cockpit schreibt auf Wunsch ein Beispiel der Datei, siehe Mit einem Beispiel beginnen.

Die Datei wird einmal, beim Start gelesen. Sie zu bearbeiten ändert ein laufendes Cockpit nicht - starten Sie die Anwendung neu, damit ein geändertes Overlay übernommen wird. Dieselbe Datei enthält die Einstellungen der Live-Ansicht (liveView), die das Einstellungsfenster sofort ändert - siehe Einstellungen der Live-Ansicht.

Wählen, wofür ein Overlay gilt

Jedes Overlay ist nach der Anwendung und dem Bild, zu dem es gehört, in der Form appName/imageName benannt.

Jede der beiden Hälften kann der Platzhalter * sein, der auf jeden Wert passt:

Schlüssel Gilt für

lumiscan-cam-driver/resultImage

dieses eine Bild dieser einen Anwendung

*/resultImage

das Ergebnisbild jeder Anwendung

lumiscan-cam-driver/*

jedes Bild, das diese Anwendung veröffentlicht

Eine Form definieren

Jedes Overlay-Element ist eine Form mit diesen Eigenschaften:

Color

Die Farbe der Form. Entweder eine benannte Farbe - red, green, blue, black, white, yellow, cyan, magenta - oder sechs Hexadezimalziffern, RRGGBB, wobei das weggelassen werden darf. Eine Farbe, die nicht gelesen werden kann, wird weiß gezeichnet statt abgelehnt; ein Tippfehler zeigt sich also als weiße Form.

Shape

Die Art der zu zeichnenden Form: rectangle, circle oder cross.

Center position (centerX, centerY)

Die Position des Mittelpunkts der Form auf dem Bild.

Width und height

Die Größe der Form. Bei Kreisen wird die Breite als Durchmesser verwendet.

Relative und absolute Koordinaten

Position und Größe folgen einer gemeinsamen Regel, die erlaubt, ein Overlay auf beide Arten zu schreiben:

  • Werte unter 1.0 sind relativ zu den Bildabmessungen - 0.0 ist der linke oder obere Rand, 0.5 die Mitte, 0.99 fast der gegenüberliegende Rand.

  • Werte von 1.0 und darüber sind absolute Pixel-Koordinaten.

Ein relatives Overlay behält seinen Platz, wenn sich die Kameraauflösung ändert; ein absolutes bleibt auf denselben Pixeln.

1.0 ist nicht der gegenüberliegende Rand - es ist ein Pixel. Die Regel wird entschieden, bevor etwas gezeichnet wird, und sie hängt davon ab, ob die Zahl unter 1.0 liegt; 1.0 fällt also auf die absolute Seite. Um etwas relativ am gegenüberliegenden Rand zu platzieren, verwenden Sie einen Wert knapp unter 1.0.

Dieselbe Falle gilt für die Größe: Eine width von 1.0 ist eine ein Pixel breite Form, nicht eine über die volle Breite.

Beispiel

Diese Konfiguration fügt ein grünes Rechteck in der Bildmitte hinzu und einen roten Kreis, der einen bestimmten Bereich hervorhebt:

{
  "overlay": {
    "lumiscan-cam-driver/resultImage": [
      {
        "color": "green",
        "shape": "rectangle",
        "centerX": 0.5,
        "centerY": 0.5,
        "width": 0.4,
        "height": 0.3
      },
      {
        "color": "red",
        "shape": "circle",
        "centerX": 75,
        "centerY": 25,
        "width": 100,
        "height": 100
      }
    ]
  }
}

Das grüne Rechteck wird mit relativen Koordinaten in der Bildmitte zentriert - 50 % von links, 50 % von oben, vier Zehntel der Breite und drei Zehntel der Höhe. Der rote Kreis verwendet absolute Pixelkoordinaten: Sein Mittelpunkt liegt 75 Pixel vom linken Rand und 25 Pixel vom oberen Rand entfernt, und er ist 100 Pixel groß.

Vollständige Referenz

Alle Einstellungen dieser Datei, wie sie ihr JSON-Schema lumiscan-cockpit.schema.json festlegt, erzeugt für Version 1.2.0 (Beschreibungen aus dem Schema, auf Englisch):

Einstellung Typ Standard Zulässige Werte Beschreibung

overlay

object

Pflichtangabe. Overlay settings for image annotations

overlay/<Name>

object[]

Array of overlay elements to be drawn on the image. The name of this should follow the format appName/imageName it is possible to use a * as a wildcard for either part

overlay/<Name>[]/color

string

Muster ^(red|green|blue|black|white|yellow|cyan|magenta|#?[0-9A-Fa-f]{6})$

Pflichtangabe. Color of the overlay element. Can be a named color (red, green, blue, black, white, yellow, cyan, magenta) or hex format (#RRGGBB or RRGGBB)

overlay/<Name>[]/shape

string

rectangle, circle, cross

Pflichtangabe. Shape type of the overlay element

overlay/<Name>[]/centerX

number

Pflichtangabe. X-coordinate of the shape center. Values < 1.0 are relative to image width (0.0-1.0), values >= 1.0 are absolute pixel coordinates

overlay/<Name>[]/centerY

number

Pflichtangabe. Y-coordinate of the shape center. Values < 1.0 are relative to image height (0.0-1.0), values >= 1.0 are absolute pixel coordinates

overlay/<Name>[]/width

number

Pflichtangabe. Width of the shape. Values < 1.0 are relative to image width (0.0-1.0), values >= 1.0 are absolute pixel values. For circles, this is the diameter

overlay/<Name>[]/height

number

Pflichtangabe. Height of the shape. Values < 1.0 are relative to image height (0.0-1.0), values >= 1.0 are absolute pixel values

JSON-Schemas

Die Anwendung legt die JSON-Schemas ihrer Einstellungsdateien in ihrem Ordner schemas ab; diese Kopien passen immer zur installierten Version. Die Schemas von LumiScan Cockpit 1.2.0 stehen außerdem zum Download bereit: JSON-Schemas von LumiScan Cockpit 1.2.0.

Damit ein Editor wie Visual Studio Code eine Kopie einer Einstellungsdatei prüft, die Sie auf Ihrem PC bearbeiten, lassen Sie deren Eintrag $schema auf das veröffentlichte Schema zeigen:

{
  "$schema": "https://docs.hdvisionsystems.com/schemas/lumiscan-cockpit/1.2.0/lumiscan-cockpit.schema.json",
  ...
}

Lassen Sie den Eintrag $schema der Dateien auf dem Gerät so, wie die Anwendung ihn geschrieben hat.