Software Holds Key to Successful Image Analysis

Only four hardware items—a light source, a camera, a frame-grabber board and a PC—make up a simple machine-vision system. Increased performance capabilities and decreased cost of the latter three items are extending the applications of machine vision. Present applications range from vision-aided precision-placement of components to optical self-calibration of robotic handlers, probe alignment and repetitive inspection tasks.

But as with all information-processing systems, it is a combination of software and hardware that makes the system perform the required tasks—and when assembling such a system, only you know what these tasks are. Consequently, you have to select a set of software tools, drivers and function libraries to configure a system that suits your application.

Of course, task-oriented and custom machine-vision systems can be purchased from several companies, eliminating the need for you to develop the system programs. But when the system is to be used for another application or when a hardware upgrade is desired, some reprogramming will be required.

Three classes of software are involved when configuring or upgrading a machine-vision system:

Interface software to control image acquisition, preprocessing and movement of image data.

Image analysis software to quantify the information contained in the image.

System software including the application program environment and the user interface.

Interface Software

Image acquisition is often triggered from and performed in synchronism with a physical event, such as conveyer-line or robot-arm motion. The trigger is usually sent to the camera via a frame grabber, whose primary purpose is to acquire image data captured by the camera and then to preprocess and assemble the pixel data obtained into a format useful for subsequent analysis.1,2

Camera settings, image-acquisition initiation, pixel data preprocessing and data movement are controlled through individually programmed register-level function commands. Since these are hardware-implementation-specific, a higher level software driver is usually supplied with the frame grabber to access all its facilities. According to Stephen Albanese at Matrox, these are some essential features that frame grabber software drivers should provide:

An interactive camera utility to easily help interface cameras to the frame grabber.

High-level acquisition, transfer and display functions so that getting data onto and off the frame grabber requires few, if any, lines of code.

32-bit optimized code to exploit the performance gains possible with 32-bit development tools and operating environments.

While the last requirement is primarily important for high data-rate applications, the camera-to-frame grabber interfacing capabilities are essential to all developers and users. The frame grabber must readily accept data from a range of cameras that are likely to be used.

It also is important that the interface is transparent to the features of the camera. “If you select a particular camera to gain the advantages of dual-channel image readout or binning for example, the interface must provide access to these features,” emphasized Jeffrey Wilson, vice president for sales and marketing at BitFlow. “It’s not enough to simply move pixels around. The interface provider must take end-to-end responsibility to assure that features are brought through for use by the application software.”

Image Analysis Software

Several companies have developed extensive sets of image processing and analysis tools suitable for many applications. Examples of these are Optimas® software from Optimas and Visilog from Noesis Vision. Image analysis software targeted at specific applications include Optimas XCaliper™ for industrial inspection and VisionBlox™ from Integral Vision for building machine-vision systems.

Since image analysis is the key function that machine-vision systems must perform, selecting the right package for your application is paramount. Dennis Flanagan, imaging products manager at Optimas, even suggests that you select the vision software tools before you choose the appropriate vision hardware.

“In selecting vision software, first make sure the tools you need are there,” said Mr. Flanagan. “Complete vision software should include tools for edge detection, gauging, blob analysis, template matching, pattern detection, optical character recognition (OCR) and color analysis. The software must offer controls and parameters so you can ‘tune’ the software to meet your performance and accuracy requirements.

“For example, if you need to find edges or align parts that are rotated, make sure the tools can find features at any angle of rotation,” Mr. Flanagan continued. “For proper interplay with the vision hardware, the software must also be capable of using the hardware manufacturer’s library, and the software and hardware suppliers you select should have a history of working together.”

“Since most image analysis software packages have scores of man-years in development behind them, they’re very successful in everything they do,” said Mr. Wilson. Consequently, the important area to probe is what they don’t do. Again, you must evaluate image analysis software in the context of the application.

“As a case in point, LCD panel inspection requires great dynamic range (10-bit digitization or better because of the need to detect small contrast differences). It requires high resolution, perhaps more than 2k × 2k pixels per image. And it needs large-kernel (9 × 9 and larger) convolutions. Anyone prototyping an LCD inspection system should make sure that these features are available, starting with the camera and working back into the analysis software. Discard software packages that can’t handle any one of these functions,” Mr. Wilson concluded.

After you determine that the software has the features you require, decide whether you will always run the software on the same platform. If not, the degree to which the software is device-independent must be considered.

For instance, the Matrox MIL imaging library may be used with all Matrox frame grabbers as well as image processors. This capability allows you to choose between host-based and processor-based systems and to move code from one to the other, offering a range of performance levels for various applications, commented Mr. Albanese.

System Considerations

Most vision software today is Windows-based and some programs are object-oriented. “Object-oriented software presents vision tasks, such as edge detection, pattern matching and gauging, as Visual Basic extension tools. You can drag and drop these vision tools to quickly prototype, test and install a vision application,” explained Mr. Flanagan. “The use of object-oriented vision tools reduces development time and enhances the flexibility and portability of applications.”

For those who prefer to purchase an integrated machine-vision system, several options exist. Companies such as Imaging Technology and Acuity offer a range of machine-vision systems that may be easily programmed to perform the image acquisition and processing task you need. Alternatively, many frame-grabber manufacturers have formed alliances with vision software providers, some of whom will also be glad to provide system integration and programming services.


1. Jacob, G., “Shedding Light on Image-Analysis System Components,” EE-Evaluation Engineering, July 1995, pp. 115-121.

2. Jacob, G., “A Look at Video Cameras for Inspection,” EE-Evaluation Engineering, May 1996, pp. 40-48.

NOTE: This article can be accessed on EE’s TestSite at Select EE Archives and use the key word search.

Image Analysis Software

Visual Software Builds

Machine Vision Applications

The VisionBlox™ software package provides a new way for system integrators, OEMs and volume end users to quickly develop custom machine-vision applications without spending time to develop core vision algorithms. VisionBlox custom controls are linked with standard controls from the development environment by dragging them onto an application window. The Windows-based architecture is open and supports frame grabbers as well as high-performance vision processors. When using a simple frame grabber, all VisionBlox algorithms are run on the host CPU. Integral Vision, (810) 471-2660.

Imaging Library Accompanied

By Extensive Camera Utilities

MIL 4.0, a portable 32-bit imaging library, includes an extensive set of optimized, high-level C commands for image processing, blob analysis, pattern matching, gauging/measurement and OCR. A device-independent application programming interface enables system integrators or OEMs to rapidly develop vision applications of various price/performance levels and reuse code when upgrading hardware. Included with MIL 4.0 is Matrox Intellicam for Windows, a 32-bit camera utility for interfacing to analog/digital, color/monochrome, frame or line scan video devices. Matrox Imaging Products Group, (514) 969-6028.

Development Kit Includes

Sample Programs, Source Code

The Software Development Kit that accompanies the Road Runner digital camera interface board includes hardware access and display function development libraries. Working sample programs feature the Windows look and feel. Configuration files for popular industrial cameras are furnished. At run time, the Road Runner is automatically initialized for proper operation. The software includes Windows NT drivers with dynamic link library facilities, drivers for imaging packages, camera configuration and test utilities are provided. Asynchronous interrupt-driven multitasking operation is supported. BitFlow, (617) 932-2900.

Software Processes Image

Sequences at >30 Frames/s

EYE Image Calculator™ 2.0, a general-purpose image acquisition, processing and application development software package, acquires and processes sequences of images. The features include single-frame/continuous-image capture, continuous grab and measure tools, and blob analysis for calculating the number of objects, areas, centroids and axes of rotation. It processes groups of 8- or 16-bit gray-scale and 24-bit color images in a single step using a library of processing operations including filtering, morphology, binarization, geometry and look-up table transformation. Io industries, (519) 858-5032.

Imaging Software Features

Intuitive GUI and Is Versatile

The Visilog 5 Imaging Software contains four inter-related components: A viewer to acquire, load, display, annotate and measure images; a processor to refine images by using filters, morphological processes or edge detection; an analyzer to extract numerical data on images; and a recorder to view session history, record procedures and build dedicated applications. Visilog 5 features full 32-bit access, a library with >500 imaging functions and point-and-click processing/programming. The software is available in Windows 95, Windows NT and UNIX versions. Noesis Vision, (514) 345-1400.

New Software Version

Offers More Features

Version 9.1 of the Image Analyst Software package provided with the Powervision® 900 Machine Vision Systems adds a configurable operator interface, cascading dynamic locators, user-configurable serial measurement and pass-fail outputs. An extensive algorithm library includes pixel counting, connectivity, gray scale, edge detection, normalized correlation, Hough transform, vector scanning, OCR, mathematical morphology, image arithmetic and convolution. With its 256-level gray scale, sub-pixel processing, Image Analyst 9.1 provides accurate and repeatable performance despite variations in part finish, orientation or lighting. Acuity Imaging, (603) 598-8400.

Vision Software Library

Contains >400 Functions

The IMAQ™ Vision Software, used in conjunction with the IMAQ PCI-1408 data acquisition board, includes a processing library which provides complete functionality for image analysis. More than 400 functions can be integrated into LabVIEW®, BridgeVIEW™, LabWindows®/CVI or other standard programming languages for developing image acquisition/processing solutions. The basic IMAQ Vision package includes display manipulation, file management and region selection functions. The advanced package adds image processing, machine vision and analysis functions. National Instruments, (512) 794-0100.

New Software Release Provides

Wizard, Speed, Added Features

The new OPTIMAS 6.1 Software helps you solve difficult or high-volume image analysis problems using a PC running Windows 95 or NT. It supports 32-bit NT hardware drivers for new PCI-bus frame grabbers and maintains support for 16-bit image-capture products. The Wizard leads you through interactive image acquisition and enhancement examples, feature identification, measurement extraction and macro automation. The software offers additional image filters, advanced morphological techniques, automatic multiphase thresholding and measurement capabilities. Optimas, (800) 635-7226.

Copyright 1997 Nelson Publishing Inc.

May 1997

Sponsored Recommendations


To join the conversation, and become an exclusive member of Electronic Design, create an account today!