Grundlegende Begriffe und Konzepte

Auf dieser Seite werden einige Grundbegriffe und grundlegende Konzepte des Bildeinzugs mit MERLIC erläutert.

Der Bildeinzug mit MERLIC besteht aus einer Sequenz von Aufgaben, um Bilder zu erfassen und zu verarbeiten. Die Sequenz kann abhängig von Faktoren wie Hardware und Arbeitsablauf für den jeweiligen Fall anders aussehen. Übliche Komponenten sind eine Kamera, die Bilder aufnimmt, ein Framegrabber, der die Bilder digitalisiert, eine Triggereinrichtung, die den Einzug startet, eine speicherprogrammierbare Steuerung (SPS) für die Kommunikation mit der Hardware und eine Bildverarbeitungssoftware wie MERLIC.

Grundlegende Begriffe für den Bildeinzug über ISM

Im Folgenden werden einige grundlegende Begriffe in Bezug auf den Bildeinzug über den Image Source Manager (ISM) von MERLIC beschrieben.

Bildquellen und Bildquellen-Konfigurationen

Bildquelle

Eine Bildquelle stellt in der Regel eine bestimmte Quelle dar, aus der ein Bild eingezogen werden kann. Dabei kann es sich um ein Kameragerät oder ein Bilddateiverzeichnis handeln. Der Image Source Manager (ISM) von MERLIC unterstützt jedoch auch die Verwendung von Peripheriegeräten wie Beleuchtungs- oder Objektivregler. Derartige Geräte werden in ISM ebenfalls als Bildquelle dargestellt, allerdings mit dem Unterschied, dass von Peripheriegeräten keine Bilder eingezogen werden.

Bildquellen werden in Bildquellen-Konfigurationen verwaltet, d. h. einer bestimmten Konfiguration zugewiesen. Um eine Bildquelle in einer MERLIC-Vision-App (MVApp) hinzuzufügen, ist das MERLIC-Tool Bildquelle erforderlich. Damit kann auch eine Bildquelle für die MVApp ausgewählt werden. Beim Starten der MVApp zieht der Image Source Manager zuerst ein Bild von der ausgewählten Bildquelle ein, das dann zur weiteren Verarbeitung an die MVApp übergeben wird.

Bildquellen-Konfiguration

Eine Konfiguration im Image Source Manager stellt eine Gruppe von Bildquellen dar. Jede Bildquelle muss einer bestimmten Konfiguration zugewiesen werden. Wenn Sie eine neue Bildquelle hinzufügen möchten, müssen Sie diese zu einer vorhandenen Konfiguration hinzufügen oder zuerst eine neue Konfiguration erstellen und dann die Bildquelle hinzufügen. Um die Bilder einer Bildquelle in einer MVApp verwenden oder Bildquellen konfigurieren zu können, muss die entsprechende Konfiguration aktiv sein. Weitere Informationen finden Sie im Abschnitt Aktive und inaktive Konfigurationen.

Mehrere Bildquellen in einer MVApp verwenden

Es ist möglich, in einer MVApp Bilder von mehreren Bildquellen zu verwenden. Wenn Sie mehrere Bilder von derselben Bildquelle einziehen und diese Bilder in derselben MVApp-Iteration verwenden möchten, müssen Sie Aufnahmesequenzen verwenden, die derzeit nur in einer vorläufigen Version verfügbar sind. Eine Aufnahmesequenz ist Bestandteil einer Bildquellen-Konfiguration und definiert, wie die Bildquellen der jeweiligen Konfiguration für den Bildeinzug in MERLIC verwendet werden sollen. Sie können damit komplexere Konfigurationen für den Bildeinzug einrichten, z. B. Parameteränderungen, Synchronisierungsoptionen und Verzögerungen. Wenden Sie sich bitte an den MVTec-Support, wenn Sie den aktuellen Entwicklungsstatus von Aufnahmesequenzen testen möchten. Der Support stellt Ihnen Informationen zum Einrichten und Verwenden von Aufnahmesequenzen in MERLIC zur Verfügung.

Anzahl von Bildquellen-Konfigurationen

Es ist möglich, nur eine Konfiguration für alle Bildquellen zu verwenden. In einigen Fällen kann es jedoch sinnvoll sein, Bildquellen in verschiedene Konfigurationen zu trennen. Wenn Sie über zwei Kamerageräte verfügen, die Bilder des gleichen Objekts aber aus unterschiedlichen Perspektiven einziehen, könnten Sie eine neue Konfiguration erstellen, die nur diese beiden Kamerageräte enthält. Wenn Sie für eine solche Anwendung eine „Offline“-Einrichtung mit Bilddateien anstelle der Kamerageräte verwenden möchten, könnten Sie eine weitere Konfiguration mit zwei Bildverzeichnissen erstellen.

Aktive und inaktive Konfigurationen

Eine Konfiguration kann entweder aktiv oder inaktiv sein. Auf der Registerkarte „Bildquellen“ des MERLIC RTE Setups wird dies über die Eigenschaft „Status“ einer Konfiguration angezeigt. Es gibt verschiedene Gründe zum Aktivieren einer Konfiguration:

  • Sie möchten die Bildquellen der Konfiguration überprüfen oder konfigurieren.
  • Sie möchten die Bildquellen der Konfiguration in einer MVApp verwenden.

Wenn eine Konfiguration aktiv ist, können Sie über die Registerkarte „Bildquellen“ auf die Bildquellen der Konfiguration zugreifen. Bei einem Bilddateiverzeichnis können Sie die Bilder einzeln nacheinander oder kontinuierlich (Live-Modus) anzeigen. Wenn die Konfiguration Kamerageräte enthält, werden beim Aktivieren der Konfiguration alle Kamerageräte geöffnet und verbunden. Sie können ein Kameragerät der aktiven Konfiguration auswählen, um die zugehörigen Kameraparameter anzuzeigen und dann die Parameterwerte anzupassen. Der Live-Modus der Registerkarte „Bildquellen“ bietet die Möglichkeit, Änderungen sofort zu überprüfen.

Sie müssen eine Konfiguration auch aktivieren, um die jeweiligen Bildquellen für die Einrichtung des Bildeinzugs in einer MVApp zur Verfügung zu stellen. Wenn Sie den Image Source Manager für den Bildeinzug verwenden, müssen Sie das Tool „Bildquelle“ in der MVApp hinzufügen, um die vom Image Source Manager eingezogenen Bilder an die MVApp zu übertragen. Im Tool „Bildquelle“ sind nur die Bildquellen der derzeit aktiven Konfiguration verfügbar. Sie können eine Bildquelle in einer MVApp nur dann verwenden, wenn die zugehörige Konfiguration aktiv ist. Wenn Sie den Prozessintegrationsmodus, d. h. das MERLIC RTE, mit einem Standardrezept starten, das auf eine MVApp verweist, die das Tool „Bildquelle“ enthält, müssen Sie sicherstellen, dass die Konfiguration aktiv ist, die die ausgewählte Bildquelle der MVApp enthält.

Sie können immer nur jeweils eine Konfiguration aktivieren. Wenn Sie eine bestimmte Gruppe von Bildquellen für die Einrichtung in einer MVApp zur Verfügung stellen möchten, müssen Sie alle betreffenden Bildquellen derselben Konfiguration zuweisen und diese Konfiguration aktivieren.

Gemeinsame Konfiguration

Eine gemeinsame Konfiguration kann von jeder MVApp verwendet werden, d. h., die Bildquellen einer gemeinsamen Konfiguration können in allen MVApps verwendet werden, sofern die Konfiguration aktiv ist.

RTE-Startkonfiguration

Eine gemeinsame Konfiguration kann als RTE-Startkonfiguration festgelegt werden. Diese Konfiguration wird geladen und aktiviert, wenn der Prozessintegrationsmodus von MERLIC gestartet wird, d. h. beim Start des MERLIC RTE. Sie müssen keine Konfiguration als RTE-Startkonfiguration auswählen. Wenn keine Konfiguration ausgewählt wurde, startet das MERLIC RTE ohne aktivierte Bildquellen-Konfiguration. Sie können mit dem MERLIC RTE Setup manuell eine Konfiguration aktivieren, nachdem das MERLIC RTE gestartet wurde. Sie können das MERLIC RTE auch ohne aktive Bildquellen-Konfiguration verwenden, um Rezepte auszuführen, die nicht den Image Source Manager für den Bildeinzug verwenden. Wenn Sie ein Standardrezept für die Prozessintegration auswählen, das eine MVApp mit einer Bildquelle referenziert, müssen Sie jedoch auch eine geeignete Bildquellen-Konfiguration als RTE-Startkonfiguration auswählen, damit das MERLIC RTE ordnungsgemäß gestartet wird.

MVApp-spezifische Konfiguration

Eine MVApp-spezifische Konfiguration ist an eine MVApp gebunden. Die Bildquellen der MVApp-spezifischen Konfiguration können nur von der zugehörigen MVApp verwendet werden. Wenn eine MVApp im MERLIC Creator geladen wird, sucht MERLIC automatisch nach einer zugehörigen Konfiguration für die betreffende MVApp. Die entsprechende Konfiguration wird automatisch geladen und aktiviert. Da in einer Instanz von MERLIC jeweils nur eine MVApp-spezifische Konfiguration aktiv sein kann, wird die aktuelle MVApp-spezifische Konfiguration deaktiviert, wenn Sie in der gleichen Instanz eine andere MVApp öffnen. Wenn keine spezifische Konfiguration für die neu geladene MVApp vorhanden ist, wird die aktive Konfiguration der letzten Sitzung geladen.

Zurzeit kann der Typ einer Konfiguration auf der Registerkarte „Bildquellen“ nicht geändert werden. Daher sind alle neuen Konfigurationen standardmäßig gemeinsame Konfigurationen. Informationen zum Ändern des Typs einer MVApp-spezifischen Konfiguration finden Sie im Abschnitt Ändern des Konfigurationstyps auf der Seite Neue Konfigurationen und Bildquellen hinzufügen.

Bildformate

MERLIC kann verschiedene Bildformate verarbeiten. Allerdings können nicht alle Bildformate in allen Tools verwendet werden. Weitere Informationen finden Sie in der Beschreibung des jeweiligen Tools.

Bilddateiformate

Die folgenden Bildformate werden unterstützt: .bmp, .gif, .hobj, .ima, .jp2, .jpeg, .jpg, .jxr, .pbm, .pcx, .pgm, .png, .pnm, .ppm, .ras, .tif, .tiff, .xwd.

Disparitätsbild

In einem Disparitätsbild hängt der Wert jedes Pixels vom Kehrwert des Abstands zwischen dem abgebildeten Punkt eines Objekts und der Kamera ab.

Höhenbild/Tiefenbild

Ein Höhenbild enthält Höhenwerte, die durch die Grauwerte der jeweiligen Pixel dargestellt werden. Sie können Disparitätsbilder mit dem Tool „Disparitätsbild in Höhenbild konvertieren“ in Höhenbilder umwandeln.

Mehrschichtiges Bild/mehrkanaliges Bild

Es gibt verschiedenartige mehrschichtige Bilder mit Schichten, die Informationen zu bestimmten Farbkanälen, Tiefe, Helligkeit und anderen Werten enthalten.

Bildgröße

Aufgrund der zugrundeliegenden HALCON-Version unterstützt MERLIC die Verwendung von Bildern mit einer maximalen Bildgröße von 32768 x 32768 Pixeln.

Trigger

Ein Trigger startet die ganze Bildeinzugssequenz oder nur bestimmte Komponenten für den Bildeinzug, z. B. die Aufgaben des Framegrabbers. Es gibt viele Möglichkeiten, wie ein Trigger realisiert wird, z. B. Betätigen einer Taste, Änderung einer Spannung, ein digitales Signal usw. Bei MERLIC werden Trigger ihrem Ursprung entsprechend kategorisiert, d. h. Softwaretrigger und Hardwaretrigger.

Neben Kameras gibt es auch andere Hardwarekomponenten, die Triggersignale empfangen können. Der Trigger wird oftmals an den internen oder externen Framegrabber einer Kamera gesendet, der wiederum die Kamera triggert und/oder auf das nächste eingezogene Bild wartet, das Bild digitalisiert und das Bild an die Bildverarbeitungssoftware sendet. Es gibt allerdings viele mögliche Konfigurationen. Um zu vermeiden, dass Bilder verloren gehen bzw. aufgrund von Verzögerungen oder einer fehlerhaften Synchronisierung zum falschen Zeitpunkt angezeigt werden, müssen die entsprechenden Parameter der Kamera und anderer Hardware richtig eingestellt sein.

Aus demselben Grund kann es notwendig sein, das Triggersignal an mehrere Geräte zu senden und/oder das Triggersignal mit anderen Signalen oder Befehlen wie „StartSingleJob“ zu ergänzen. Die erforderliche Konfiguration und Kommunikation kann MERLIC bewerkstelligen.

Softwaretrigger

Softwaretriggersignale können vom MERLIC Creator, vom MERLIC Frontend, vom MERLIC RTE oder von einem Plugin für den Communicator ausgelöst werden. Softwaretrigger können zusammen mit einer Einzelausführung oder einer kontinuierlichen Ausführung verwendet werden. Wenn die MVApp beispielsweise eine ordnungsgemäß konfigurierte Kamera enthält, bewirkt ein Klick auf die Schaltfläche „Einmal ausführen“, dass MERLIC ein Triggersignal an die Kamera sendet.

Hardwaretrigger

Hardwaretriggersignale werden von einer Triggereinrichtung, z. B. einer Taste oder einer Lichtschranke, gesendet. MERLIC kann mithilfe des Prozessintegrationsmodus (MERLIC RTE) jedoch auch über eine speicherprogrammierbare Steuerung (SPS) indirekt ein Hardwaretriggersignal senden. Um Kamerageräte mit Hardwaretrigger für den Bildeinzug in MERLIC verwenden zu können, müssen Sie das Kameragerät für den Bildeinzug über den Image Source Manager konfigurieren.

Um eine einwandfreie Synchronisierung sicherzustellen, muss das Hardwaretriggersignal gesendet werden, nachdem die Ausführung von MERLIC gestartet und bevor die Timeout-Dauer erreicht wurde. Bei Verwendung des MERLIC RTE kann der Befehl „StartSingleJob“ oder „StartContinuous“ verwendet werden, um die Ausführung zu starten. Sobald MERLIC dann das Ereignis „JobStarted“ ausgelöst hat, können die konfigurierten Bildquellen Hardwaretriggersignale empfangen.

Freilaufend (ohne Trigger)

Einige Kameras können für den Einzug von Bildern in einem Freilaufmodus konfiguriert werden. Die Kamera wartet im Freilaufmodus nicht auf ein Triggersignal, sondern nimmt Bilder so schnell wie möglich auf. Dadurch kann die Ausführung beschleunigt werden. Allerdings muss beachtet werden, dass das Kameragerät Bilder möglicherweise zu schnell einzieht. Wenn die Kamera Bilder schneller einzieht als sie verarbeitet werden können, kann es sein, dass einige Bilder verloren gehen oder das derzeit verarbeitete Bild nicht aktuell ist. Es wird empfohlen, die Kamera im Softwaretriggermodus zu verwenden, um sicherzustellen, dass das Bild immer aktuell ist.

Aufnahmesequenzen und Parametersätze

Aufnahmesequenz

Eine Aufnahmesequenz definiert, wie und wann Bilder aus den Bildquellen eingezogen werden.

Primärer Parametersatz

Für jede Bildquelle wird implizit ein primärer Parametersatz erstellt. Er enthält eine bestimmte Konfiguration der Kameraparameter. Die Konfiguration kann angepasst werden. Ein primärer Parametersatz kann jedoch nicht gelöscht werden.

Alternativer Parametersatz

Für jede Bildquelle können ein oder mehr zusätzliche Parametersätze erstellt werden. So kann eine andere Konfiguration der Kameraparameter als die im primären Parametersatz definierte Konfiguration gespeichert und als Alternative zum primären Parametersatz verwendet werden.

Für jeden alternativen Parametersatz wird automatisch eine verwaltete Sequenz erstellt, sofern nicht bereits eine benutzerdefinierte Sequenz mit demselben Namen vorhanden ist.

Basissequenz

Eine Basissequenz definiert das Standardverhalten des Bildeinzugs, bei dem von jeder Bildquelle ein Bild unter Verwendung ihrer jeweiligen primären Parametersätze erfasst wird. Die Basissequenz wird verwaltet, d. h. sie wird aktualisiert, wenn Bildquellen hinzugefügt oder entfernt werden.

Verwaltete Aufnahmesequenz

Wie die Basissequenz erfassen verwaltete Sequenzen ein Bild pro Bildquelle, verwenden hierfür jedoch den entsprechenden alternativen Parametersatz.

Wenn der entsprechende alternative Parametersatz für eine Bildquelle nicht vorhanden ist, wird stattdessen der primäre Parametersatz verwendet. Verwaltete Sequenzen werden automatisch erstellt, entfernt und aktualisiert, wenn Bildquellen oder Parametersätze hinzugefügt oder entfernt werden.

Benutzerdefinierte Aufnahmesequenz

Eine benutzerdefinierte Aufnahmesequenz ist eine angepasste Aufnahmesequenz, die volle Flexibilität bietet. Benutzerdefinierte Sequenzen werden nicht automatisch aktualisiert, wenn Bildquellen oder Parametersätze hinzugefügt oder entfernt werden, d. h., sie müssen manuell aktualisiert werden.