FabImage-ExampleApplications4 10
FabImage-ExampleApplications4 10
FabImage-ExampleApplications4 10
ABOUT
This document illustrates the capabilities of FabImage Studio 4.10 with short examples of basic, intermediate and
advanced applications.
Reading barcodes
To create a barcode reader you need an image acquisition filter or beforehand prepared images and a barcode reading
ready-made tool.
Reading Data Matrix codes is just as simple. Here we read the image in which the Data Matrix code is very small and
still it is correctly located and decoded.
Page 2 / 14
FabImage Studio – Review of Example Applications
1D Edge Detection is a set of ready-made tools which are simple yet very effective. Here, we detect the object
displacement by looking for its first edge. The coordinate system, which is created, can be used to adjust further
inspections to the bottle position.
1D Edge Detection can also be used for object counting as in this example. We are looking for multiple stripes, i.e.
pairs of opposite edges. The Count property output contains the number of objects.
Page 3 / 14
FabImage Studio – Review of Example Applications
Edge-based Template Matching filters can be used to locate objects regardless of variable rotations, scaling, uneven
illumination or even with arbitrary background clutter. Here, we are looking for fiducial markers that guide robot
assembly of a PCB board.
The object model is created with an intuitive user interface, where you mark the expected objects and its characteristic
edges.
Page 4 / 14
FabImage Studio – Review of Example Applications
Template Matching, here the one based on Normalized Cross Correlation (the classical method, grey-based), can also
be used to verify object presence.
Measurement applications most often consist of, as in this example, a Template Matching filter followed by shape
fitting and geometrical tools. Object alignment is linked between the filters so that measurements are adjusted to the
position of the object.
Page 5 / 14
FabImage Studio – Review of Example Applications
Again, there are graphical editors for all shape fitting models.
Performing a series of measurements on multiple objects is also not a problem. We can detect multiple bottles, e.g.
with 1D Edge Detection, and create a series of coordinate systems accordingly. Then we define the measurement once
and it works with all the objects automatically. Here, we measure the liquid level of each bottle.
Page 6 / 14
FabImage Studio – Review of Example Applications
One of the most typical measurement tasks considers the distance between two opposite edges. This can be done
with a single filter optimized for maximum sub-pixel precision.
The most simple blob analysis application requires just two filters – one for separating bright or dark region from the
background, the second for splitting it into individual objects. A formula is used to verify the quantity.
When there are several types of objects and we are interested in only one of them, we classify the objects using
appropriate region features. Here, the orange objects are selected with the classifying filter.
Page 7 / 14
FabImage Studio – Review of Example Applications
Another possible application of region analysis techniques is measuring the area of a region. Here, we measure the
chocolate coverage of a wafer.
There is a ready-made tool for quick presence verification. It offers three methods that cover all typical applications:
(1) by the average pixel intensity or contrast, (2) by the amount of pixels fulfilling some criteria or (3) by the amount
of edges.
Page 8 / 14
FabImage Studio – Review of Example Applications
Optical character recognition requires exactly two steps: one for character extraction, another for recognition. Ready-
made tools are available with appropriate graphical editors, also for interactive training of a custom font model.
For character training there is an intuitive graphical editor where the user investigates the extracted character regions
and specifies the actual character values.
Page 9 / 14
FabImage Studio – Review of Example Applications
In this gauge reading application the 1D Edge Detection tools have to be complemented with geometrical and
mathematical filters to translate the detected edges into proper numerical value.
Page 10 / 14
FabImage Studio – Review of Example Applications
Background reconstruction
Image processing operators can be used to reconstruct the ideal background image. In the below example the task is
to inspect a regular mesh. We use carefully crafted morphological operators to reconstruct the perfect mesh. This
makes it possible to analyze defect types in the further part of the program.
With TCP/IP communication it is possible to send or receive data from other computer in the local network or from
another process on the same computer (localhost). Below we present a simple scenario where we receive a single text
message and display it in the HMI.
Page 11 / 14
FabImage Studio – Review of Example Applications
In case of a regular grid in which presence of an object has to be verified for each cell, we can use additional filters for
preparing the grid of reference circular regions-of-interest. The main part of the program has been included in one
macrofilter “MainLoop” where all necessary calculations are performed.
Page 12 / 14
FabImage Studio – Review of Example Applications
When we need to verify object presence, but the expected object locations are variable, we can use a combination of
object location and presence checking tools. In the below example we detect slots where tablets are expected and in
the second step we verify if each slot is filled. We resize the detected circles to improve readability in the HMI.
A sequence of three simple morphological operators can be used to precisely find the region of incorrectly assembled
part – here on an example of protective rubber around an electronic device.
Page 13 / 14
FabImage Studio – Review of Example Applications
In some applications, due to partial visibility, it is not possible to accurately measure each individual object. We can,
however, perform statistical analysis with non-standard use of ready-made tools. Here, we detect fertilizer particles
and check if they are not too small or too large.
Page 14 / 14