GenICam (Generic Interface for Cameras) è una interfaccia di programmazione generica per applicazioni di machine vision. L'obiettivo 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). Il lavoro sullo standard è iniziato nel 2003 e il primo modulo di GenICam, GenApi, è stato ratificato nel 2006 mentre il modulo finale, GenTL, è stato ratificato nel 2008.
Molte imprese dell'ambito industriale della machine vision hanno contribuito allo standard. Le compagnie maggiormente coinvolte nel progetto sono: :
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.
GenICam è composto da tre moduli che aiutano a svolgere i compiti principali nel campo della machine vision in maniera generica. Questi moduli sono:
GenICam fornisce supporto per cinque funzioni fondamentali :