<<Prev 1 2 3 4 5 6 7 8 9 10 Next>>
Blob Filter
To extract only the square shapes from the image we utilize the blob filter and the
Quadrilateral Area to quantify the resemblence of the blob to a square. The Quadrilateral Area attribute
analyses the sides and area of each of the blobs to calculate how close the blob area is to a
quadrilateral defined by the 4 major sides of the blob. I.e. how well does the blob fit into
the concept of squareness.
The blob filter allows you to
add in descriptive attributes that rank each of the individual blobs according to the
feature they represent. Thus, for a perfect square we would expect a rank of 1.0 whereas for
blobs that are less square we would expect a <1.0 weight.
Reviewing our test images shows that a cutoff value of around 0.65 would segment all our actual
squares from the rest of the detected blobs. The other detected blobs are artifacts from the
tile's white spots and the sunlight glare that we reduced earlier on.
If is worth noting that the squares on the sides of the images may or may not be detected
by the square shape as part of the square is cutoff from the image. This is not an issue
as we also use the blob filter to remove any blobs that touch the border. The reasoning is that
we know all squares will fit into the image view and anything on the sides will either come into
view or if just going out of view. We also remove border objects as the robot when moving
may cause previously seen blobs to once again be detected. This detection can cause the robot to
occilate back and forth as the object moves in and out of partial view of the camera.
Using a 0.65 threshold and adding the COG module ends our image processing process as we now have
an approximate point (the COG) for the robot to follow. The red circle identifies the COG point.
Note that if more than one square is visible on the screen the COG will return a average point between
the two squares which is desirable as it evens out the transition from one square to the next.
Now that we have the point to move towards we need to use that information to control the SRV-1b
appropriately ...
<<Prev 1 2 3 4 5 6 7 8 9 10 Next>>
|