GenICam (Generic Interface for Cameras) is an international standard that provides a generic programming interface for all kinds of cameras regardless of the interface technology (CoaXPress, GigE Vision, Camera Link, USB3 Vision, etc.) [Source: EMVA ].
In general, GenICam is a common API (application programming interface) for application software to speak to the camera independent of the standard of the interface. Just as when you want to process an image in Photoshop, the scanned image can be from any scanner and it does not matter what the brand of the scanner is or how the scanner is connected to the computer.
From http://en.wikipedia.org/wiki/GenICam, GenICam provides supports for five basic functions:
- Configuring the camera—This function could support a range of camera features such as frame size, acquisition speed, pixel format, gain, image offset, etc.
- Grabbing images—This function will create access channels between the camera and the user interface and initiates receiving images
- Graphical user interface—This function enables user GUI interface to seamlessly talk to the camera(s)
- Transmitting extra data—This function enables cameras to send extra data on top of the image data. Typical examples could be histogram information, time stamp, area of interest in the frame, etc.
- Delivering events—This function enables cameras to talk to the application through an event channel.
When compared with machine vision interface standards, the GenICam standard seems more abstract. With Camera Link, such a standard was not as important as frame grabbers and frame grabber software were heavily relied upon. With more machine vision interface standards allowing a direct connection to the computer, such as GigE Vision and USB3 Vision, this standard has become more important. Also, as cameras include more and more features, GenICam is relied upon even with interfaces that require a frame grabber, such as CoaXPress.
With CoaXPress, the GenICam standard allows for a direct connection between the software layer and the camera. This means the system designer can use any CoaXPress camera and frame grabber and have a standardized programming interface. They can take advantage of standard machine vision software such as HALCON from MVTec, which allows the system designers to focus their effort on the machine vision application such as measurement, identification or 3D vision, and not on the operation of the camera.
Using GenICam, all of the software on the PC can directly connect to the camera and can say set the value of exposure time without knowing the brand of the camera or how the feature is implemented in the camera firmware.
The goal is to have a plug and play, smooth interfacing experience for the user. While this means easier switching of suppliers or second sourcing options, this is meeting the demands of the customers and enabling new applications. Further standardization is another indication of the maturing of the machine vision market.
Also, it may seem that standardization makes everything the same and removes competitive advantage, but standards like GenICam ensure that the camera can have special features without complicating the user’s experience.