<<Prev 1 2 3 4 5 Next>>
Blob Based Technique
The second technique exploits the fact that the floor is a single large object. Thus
starting with the original image we can segment the image into a smaller number of
colors in order to connect pixels into blobs that we can process. This grouping
can use either the Flood Fill module or the Segment Colors
module. Using the flood fill module the image becomes
The next step is to isolate the largest blob in the image which is assumed to be the floor. This is done using the
Blob Size module which is set to just return the single largest blob in the image.
We then dilate this image by 2 pixels using the Dliate to close all the small holes in the floor blob.
Then we negate this image and use the same Side Fill module as before to determine the possible vertical routes the
robot could take. We need to negate the image prior to this module as the Side_Fill module only fills black pixels. In the
above image the object to be filled is white and thus when negated will become black.
From here on the stages are the same as the previous technique. Namely Erode to remove
small pathways, smooth the resulting object and identify the top most point.
The final image looks similar to the previous technique.
The results are very similar but the first technique exploited edges whereas this one exploited connected
pixels of similar color. But the issue of the similar colored floor plane still remains. What happens if
you do not have the same colored carpet? For example, suppose that you have a high frequency pattern
in a carpet.
The resulting edge and blob based techniques will not work as the blob and edge detection will pick up on the
small patterns of the carpet and incorrectly see them as obstacles.

You can notice the failure of both these techniques in the above images which if fully processed would only see non-obstacle
space in the lower 10 pixels of the image. This is clearly incorrect!
<<Prev 1 2 3 4 5 Next>>
|