<<Prev 1 2 3 4 5 Next>>
Floor Finder Technique
To improve on our last image we will need to understand that the carpet or floor plane contains more
than one pixel color. While you could detect both colors and perhaps merge them in some way an easier approach is
to make an assumption that the immediate foreground of the robot is obstacle free. If we were to sample the colors
in the lowest part of the image which is the immediate space in front of the robot we could use these color
samples and find them in the rest of the image. By searching for all pixels who share the same or similar color
to those pixels in this sample space we can theorize that those pixels are also part of the floor plane.
This process can be accomplished using the Floor Finder module. Given our test image
we can run the floor finder module to procedure a theoretical mask of what the floor might be.
We can see the red triangle that represents the sample area that is used to understand what pixel colors are likely
to be floor pixels. The white pixels in the above image now represent all pixels in the image that are similar to
those found in the triangle. We can see that this works quite nicely to segment out the floor plane. We then dilate the image
to remove small holes in the floor plane.
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 fills black pixels. In the
above image the object to be filled is white and thus negated it will become black.
Following a similar sequence as before
we Erode to remove
small pathways, smooth the resulting object and identify the top most point.
The final image is used to verify the recommended goal point.
We then run the same technique over the previous image to check if that still works.
Which it apparently does! So the floor finder module has allowed us to use a single technique for both
similar colored carpet to one that has a lot of small internal patterns in it.
<<Prev 1 2 3 4 5 Next>>
|