This chapter describes the components that make up IC Imaging Control and the basic concepts behind the library.
The IC Imaging Control class library is an API that covers all aspects of DirectShow that are related to managing, controlling and accessing imaging devices and image data. It simplifies the usage of DirectShow by maintaining its hardware independently. The abstraction implemented by the class library addresses all programmers who are familiar with frame grabbers. In other words: IC Imaging Control lets DirectShow look like a frame grabber.
The idea behind IC Imaging Control is to build something similar to a frame grabber and thus the main class is called Grabber. Typically, frame grabber APIs are made up of a collection of functions that control the inputs, video formats, and the grabbing process. This is the reason why the Grabber class provides all this functionality as one "fat interface". There are additional classes that provide functionality to enumerate and specify devices (VideoCaptureDeviceItem ), video formats (VideoFormatItem ), video norms (VideoNormItem ) and inputs (AnalogChannelItem ). In contrast to most frame grabber APIs, IC Imaging Control provides:
The image data is generated by the video capture device as consecutive frames that build an image stream running from the device to the sink. If the display is activated, the image stream is split, feeding the sink and the display. In this case, the image stream is a graph that looks like a "Y" and consists of the following segments:
While the figure above illustrates the flow of image data, the next figure shows the relationship between the image stream and the classes.
IC Imaging Control provides generic access to device properties, multiple overlays and filter chains at different locations of the image stream:
As described above, IC Imaging Control provides very powerful components to manipulate and control the acquisition and display of image streams. It is obvious that this functionality requires a certain overhead for internal management and processing. This may lead to the conclusion that IC Imaging Control is not suitable for high speed image processing application. This is absolutely not the case, as all features that make it so easy to build complex applications with IC Imaging Control may be switched off. For applications that require as much CPU time for image processing as possible, IC Imaging Control may be configured in a way that the overhead to process the image stream is comparable to a low level frame grabber or FireWire library. In order to reduce the internal overhead to a minimum, you have to:
Doing so guarantees that the image data is not modified or copied by IC Imaging Control, nor DirectShow. The figure below shows the layout of the image stream for this configuration.
Established in 1990, The Imaging Source is one of the leading manufacturers of industrial cameras, frame grabbers and video converters for production automation, quality assurance, logistics, medicine, science and security.
Our comprehensive range of cameras with USB 3.1, USB 3.0, USB 2.0, GigE interfaces and other innovative machine vision products are renowned for their high quality and ability to meet the performance requirements of demanding applications.