GenICam

Da Wikipedia, l'enciclopedia libera.

GenICam (Generic Interface for Cameras) è una interfaccia di programmazione generica per applicazioni di machine vision[1]. L'obbiettivo dello standard è quello di separare la tecnologia utilizzata per l'interfaccia fisica della camera (come per esempio GigE Vision o Camera Link) dall'interfaccia applicativa presentata all'utente (API). GenICam è amministrato dalla European Machine Vision Association EMVA)[2]. Il lavoro sullo standard è iniziato nel 2003[3] e il primo modulo di GenICam, GenApi, è stato ratificato nel 2006 mentre il modulo finale, GenTL, è stato ratificato nel 2008.[4]

Molte imprese dell'ambito industriale della machine vision hanno contribuito allo standard. Le compagnie maggiormente coinvolte nel progetto sono: [5]:

Grazie al numero di imprese coinvolte nel progetto GenICam e grazie ai benefici di interoperabilità che si spera di ottenere con il progetto, i costruttori di componenti per machine vision hanno già iniziato ad utilizzare lo standard nei loro prodotti. Tuttavia, le imprese che hanno contribuito a realizzare lo standard stanno seguendo un "approccio a due vie", sviluppando ancora SDK proprietari. È ancora da vedere se GenICam può sostituire tutti gli SDK development e raggiungere gli obbiettivi di interoperabilità e, possibilmente, prodotti di machine vision meno costosi[6].

GenICam è composto da tre moduli che aiutano a svolgere i compiti principali nel campo della machine vision in maniera generica. Questi moduli sono:

  • GenApi: Utilizzando un file XML come descrittore, si configura la telecamera e si descrivono i dettagli per poterla controllare
  • Standard Feature Naming Convention (SFNC): I nomi e tipi da utilizzarsi per caratteristiche comuni a tutte le telecamere, per raggiungere l'interoperabilità.
  • GenTL: Questa è l'interfaccia a livello di trasporto per molte telecamere, acquisisce le immagini dalla telecamera e le passa all'applicazione.

GenICam fornisce supporto per cinque funzioni fondamentali [7]:

  1. Configurare la telecamera: questa funzione può supportare una serie di parametri della telecamera come ad esempio la misura dei frame, la velocità di acquisizione, il formato dei pixel, il guadagno, l'offset, ecc...
  2. Acquisizione di immagini: questa funzione crea un canale d'accesso tra la telecamera e l'interfaccia utente, oltre ad inizializzare la ricezione delle immagini
  3. Interfaccia Grafica: questa funzione permette alle interfacce utente (GUI) di interagire fluidamente con le telecamere
  4. Trasmissione di dati extra: questa funzione permette l'invio di dati ulteriori oltre all'immagine stessa. Tipici esempi possono essere informazioni riguardo l'istogramma, il timestap, l'area di interesse nel frame, ecc...
  5. Gestione di eventi: questa funzione permette alle telecamere di parlare all'applicazione tramite un canale eventi.


Note[modifica | modifica sorgente]

  1. ^ GenICam Standard
  2. ^ EMVA
  3. ^ AES
  4. ^ Control Engineering
  5. ^ Contributori standard Genicam
  6. ^ Will Changing Machine Vision Standards Cut Costs and Boost Performance?
  7. ^ feret