Simple Blob Analysis Application Including SDK Project for Object Visualization#
The binarization used in this example is based on simple thresholding. The Blob Analysis assumes every white pixel to be an object pixel. Figure 2 shows that a foreground value range is selected using two threshold values. This allows the use of images where the objects are formed by dark pixels or images where objects are brighter in contrast to their background. After the binarization itself the image is buffered. From the buffer, the images are passed to the Blob Analysis and are transferred to the host PC to monitor the binarized images.
The configuration of the Blob Analysis parameters can be seen in the following figure:
In the image above you see how the Blob Analysis data is merged into one link only. In this example, the features
Bounding Box and
Area are used. First, the bounding box links of 16Bits each are merged together which results in a link width of 64 Bits. The area is extended to 64Bits as well. Using the
InsertPixel operator, both links are merged together. The resulting DMA transmission will therefore be of the following format:
Blob DMA Byte order for Simple Blob2D Applet#
|Byte No.||Object Feature|
|0 to 1||Bounding Box X0|
|2 to 3||Bounding Box X1|
|4 to 5||Bounding Box Y0|
|6 to 7||Bounding Box Y1|
|8 to 15||Area|
Note the varying byte order in the PC. The object features bit widths are extended. In real, the Bounding Box uses 10Bits only to represent the values between 0 and 1023 and the Area uses 21Bits only. A small SDK C++ project is attached to this applet to show its functionality. It can be found together with the design file in folder
Examples\Processing\BlobAnalysis\Blob2D of the VisualApplets installation path.