Internal camera memory allows the user to defer transmission of an image or a sequence of images, allowing the system to cope with limited bus or processing bandwidth, or it can let a frame grabber change its multiplexed input. Simple cameras with no image memory enable only a delayed read out of the sensor with the image quality being affected by thermal noise.
There can be benefits in performing some image preprocessing onboard the camera: either by sending a corrected image or reducing the amount of data that is transferred, thus reducing the CPU overhead on the host PC. These tasks can be configured inside the camera by the user. Some basic preprocessing operations like Bayer colour conversion, threshol ding and run-length encoding are already available in some cameras, but need to be configured for the individual application by the user.
Many more advanced machine vision cameras are equipped with onboard processors. These powerful camera systems are particularly suitable for use in demanding imaging applications, as they remove the need for a PC. Other advantages are their compact size and their flexible programming capabilities. These cameras use embedded operating systems such as µClinux (a Linux variant) with a GNU-compiler which offers a flexible, extendable and cost-effective software platform.
Additionally, the use of FPGA technology enables the development of imaging algorithms that can be executed in hardware. This allows special algorithms to be developed for vertical markets and applications which can run standalone on the camera. Possible applications for this type of camera include the classification of vehicles according to make, model or class, as well as special medical diagnostic applications.
Common preprocessing functions include:
Intelligent cameras available on the market already contain these and further preprocessing possibilities.
In some applications, particularly those that need to function outdoors, the camera must produce good images in variable lighting conditions. Auto gain control is used to alter the amplification applied to the image in order to normalise the brightness, however, any noise in the image is amplified together with the signal, this technique only works well for small changes in light. Auto exposure control is similar, changing the shutter speed to achieve the required brightness.
The auto shutter function is not suitable for all applications that need shorter exposure times to avoid motion blur when the exposure is too long and some of the latest cameras targeting outside use allow the range of adjustment to be limited to prevent this. Auto iris control requires special lenses that take video level information from the camera and adjust the iris. Such lenses typically use an analogue output from the camera or a DC direct drive signal to change the size of the iris to main tain the average output from the camera at a predetermined level.
This method works over a wide range of lighting levels, but it should be remembered that the depth of focus will change with the size of the iris. Problems can arise on some cameras when these techniques are used together, as they can work against each other. On occasion, the brightness level may appear to 'hunt' and never settle at one point. Some cameras have intelligent auto level modes where the priority and range of variation and rate of change of the functions (gain, shutter or iris) can be configured.
In recent years the introduction of the P-Iris lens has brought more flexibility to industrial applications. By using a stepper motor the iris position can be accurately controlled from the camera. Unlike DC and video iris which is expecting a continuous level signal, the P-Iris holds it position until updated. This allows the camera to be triggered which is not possible for standard auto-iris lenses. In addition cameras can include more control of iris increasing the viability of triggered outside applications.
Many advanced cameras include a sequencing mode. This allows a set of predefined settings such as gain, size and location of ROI and exposure to be stored in the camera, ready for fast switching. Sequences of settings can be initiated by software, I/O signals or cycle round on each trigger or to burst a sequence on a single trigger. Different cameras feature different levels of sequence features so it is important to check that the camera does what you require.