GenICam (Abk. für Generic Interface for Cameras) ist eine generische Programmier-Schnittstelle für Kameras, die in der industriellen Bildverarbeitung eingesetzt wird.[1] Ziel dieses Standards ist die Entkopplung der Schnittstellen-Technologie industrieller Kameras (wie z. B. GigE Vision oder Camera Link) von der Programmier-Schnittstelle der Benutzer-Anwendung (API). GenICam wird von der European Machine Vision Association (EMVA) betreut.[2] Die Arbeit an dem Standard wurde im Jahr 2003 begonnen[3] und sein erstes Modul, GenApi, wurde 2006 ratifiziert. Das letzte Modul, GenTL, folgte im Jahr 2008.[4]

GenICam besteht aus drei Modulen, die helfen sollen, die wichtigsten Aufgaben in der industriellen Bildverarbeitung auf generische Weise zu lösen. Die Module heißen:

  1. GenApi: Dieses Modul wird für die Konfiguration der Kamera, des Kamera-Zugriffs und der Kamera-Steuerung benutzt. Es verwendet dazu eine Datei im XML-Format.
  2. SFNC (Standard Feature Naming Convention): Dies sind die empfohlenen Bezeichnungen und Typisierungen für gemeinsame Kamera-Eigenschaften zur Förderung der Kompatibilität.
  3. GenTL (Transport Layer): Diese Schicht ist für den Transport der Kamera-Daten in die Benutzer-Anwendung verantwortlich.
  4. GenDC (Data Container): Dieses Modul erlaubt „jegliche“ Informationen in Datencontainer über ein TLP unabhängigen Format zu senden.
  5. GenCP (Control Protocol): Das Control Protocol definiert die Paketformate zur low-level Kamera-Steuerung.

Funktionen

Bearbeiten

GenICam unterstützt fünf Hauptfunktionen:[5]

  1. Kamera-Konfiguration – Diese Funktion unterstützt eine Reihe von Kamera-Eigenschaften wie z. B. Bildgröße, Aufnahmegeschwindigkeit, Pixelformat, Gain, Offset etc.
  2. Bilderfassung – Diese Funktion erstellt Zugänge zwischen der Kamera und der Benutzer-Schnittstelle und veranlasst das Empfangen von Bildern.
  3. Grafische Benutzeroberfläche (GUI) – Diese Funktion stellt eine Anwender-Schnittstelle für die nahtlose Kommunikation mit der (den) Kamera(s) bereit.
  4. Übertragung zusätzlicher Daten – Diese Funktion ermöglicht Kameras das Übertragen von zusätzlichen Daten, die über die reinen Bilddaten hinausgehen, wie beispielsweise Histogramm, Zeitstempel oder ROI.
  5. Übertragung von Ereignissen – Diese Funktion ermöglicht es Kameras mithilfe eines „Ereignis-Kanals“ mit einer Anwendung zu kommunizieren.

Kompatibilität

Bearbeiten

Viele Unternehmen der industriellen Bildverarbeitung haben zu dem Standard beigetragen. Die wichtigsten an der Ausarbeitung des GenICam-Standards beteiligten Unternehmen sind:[6]

Die Standardisierung bewirkt, dass Produkte unterschiedlicher Hersteller untereinander technisch kompatibel sind. Dank der zahlreichen Unternehmen, die an der Definition von GenICam beteiligt sind, und der vielfältigen Möglichkeiten, die sich für den Anwender durch den Vorteil der Kompatibilität ergeben, setzen bereits viele Hersteller von Bildverarbeitungskomponenten den Standard in ihren Produkten ein. Allerdings bieten auch Unternehmen, die an der Entwicklung des Standards beteiligt waren, weiterhin eigene, proprietäre SDKs an. Es ist deshalb abzuwarten, ob GenICam sämtliche eigenentwickelte SDKs ersetzen und so das angestrebte Ziel einer vollständigen Kompatibilität erreichen kann.[8]

Einzelnachweise

Bearbeiten
  1. GenICam Standard
  2. EMVA
  3. AES
  4. GenICam GenTL Standard Version 1.5. European Machine Vision Association, 23. Juli 2015, abgerufen am 14. November 2024 (englisch).
  5. New GenICam standard for cameras (Memento vom 2. April 2016 im Internet Archive)
  6. GenICam Group Members
  7. Über uns - MVTec Software GmbH. In: www.mvtec.com. Abgerufen am 3. August 2016.
  8. Will Changing Machine Vision Standards Cut Costs and Boost Performance?