Hardware-independent Image Processing with Common Vision Blox
27.10.2011 -
Other than the obvious requirement that it should be suitable for solving a given image processing problem, modern image processing software must above all be flexible enough to allow rapid, inexpensive adaptation to changing conditions. Common Vision Blox (CVB) from Stemmer Imaging has already proved that it has this flexibility – in tens of thousands of installations across the globe.
Before programming an image processing application, the appropriate image capture hardware has to be selected. The user has to decide which camera and which frame grabber best meets the requirements. Usually, the hardware ultimately selected dictates the decision as to which software libraries to use to control the hardware. These libraries are often also provided by the same hardware vendor. However, the performance, flexibility and quality of the software can vary considerably. But only when both hardware and software interact perfectly, ideal results are achieved.
Once the choice of hardware and software has been made, the developers can start the actual programming. Often, they are first faced with the time-consuming task of familiarising themselves with the libraries specific to the chosen frame grabber. Applications developed like this have one great disadvantage: The use of a vendor-specific library ties the software irrevocably to the hardware. This – in turn – leads to an enormous reduction in flexibility during development and productive operation, as even the slightest change to requirements can have incalculable technical and financial consequences.
No-risk Image Processing with CVB
Risks such as these are consigned to the past with the use of the Common Vision Blox software library from Stemmer Imaging. CVB makes it possible to replace the image capture hardware at any time, irrespective of the hardware vendor. It is even possible, for example, to switch from area array cameras to line scan cameras simply by loading the appropriate driver, without having to modify the application. This level of flexibility is achieved by the clear architecture that underlies CVB. In particular, abstraction of the incoming captured image allows the computation algorithms to be completely decoupled from the image capture process.
The complete modularity of the CVB and its 30 or so optional tools which provide specialised algorithms allows users to deploy only those components they really need. However, using CVB leads to another benefit for the user: Stemmer Imaging always keeps this software package at the leading edge of technology. The latest version for example already implements Gigabit Ethernet.
Architecture and Programming
Common Vision Blox can be divided into the four layers hardware, hardware abstraction, display/processing and decision- making, which are addressed via the super ordinate programming layer. The kernel of the system contains fundamental functions such as image access and hardware drivers. From the image source, through the actual processing of the image, right up to decision-making, CVB thus offers users the complete range of functions they need to master inspection tasks using industrial image processing.
Two types of programming environments are available: On the one hand high-level language compilers such as Microsoft Visual Basic, Visual C++, Borland Delphi, VB.NET, VC.NET, C#.NET and Borland C++ Builder or, on the other hand, the graphical user interface iTuition. Both variants allow existing CVB tools to be incorporated as ActiveX controls or DLLs. Not only that - thousands of thirdparty algorithms can also be utilised. A further exceptional feature is the option of running programs on both PCs and on smart cameras once they have been created.
Comprehensive Basic Package
To make it easier for customers to enter the modular world of Common Vision Blox, and to make it possible for them to immediately solve a whole range of application problems, Stemmer Imaging will be introducing a comprehensive software package with the name Common Vision Blox Foundation Package at VISION 2005 (8–10 November, Stuttgart Trade Fair).
In this package, the tried and tested CVB ImageManager is still responsible for controlling the image capture hardware, for optimising image display and for permitting abstracted access to the image by tools and algorithms. It has now been supplemented by optimised algorithms for edge detection, detection of blobs, static evaluation of image data, image filtering and arithmetic operations on images.
In addition, the Foundation Package also includes other fundamental image processing technologies such as a new algorithm for 2D calibration of image data, allowing simple use of a dynamic threshold in the event of fluctuating greyscale distribution as well as a set of routines for converting image formats.
The new suite of software is rounded off by the graphical user interface iTuition which gives less experienced users a simple way of creating their own executable application by simply dragging and dropping. Of course, experienced programmers still have the alternative of using the common compilers in conjunction with the CVB Foundation Package.
Conclusion
Particularly in these days of tight budgets, nobody wants to plan for overdimensioned hardware. Ideally, the system will deliver precisely the performance needed. But in the world of image processing, taking a decision too early can be a major risk. The use of CVB provides a simple way of reducing this risk to a minimum and at the same time lowers development costs considerably. The developers can also concentrate all their efforts on solving the actual image processing task in hand. With the basic tools integrated in the new CVB Foundation Package, users are in a position to solve a wide range of image processing application problems without the need to purchase any further CVB tools.
Dipl.-Ing. (FH) Peter Keppler Sales Manager Vision Solutions Stemmer Imaging GmbH Tel. +49-(0)89-80 90 20 info@stemmer-imaging.de www.stemmer-imaging.de