This component detects markers consisting of two blobs (of different color) on a color image. The particle position is the point between the two blob centers, while the particle orientation is pointing towards color 1.
For both colors, the algorithm first selects all pixels falling in to the following cube in RGB color space:
where denotes the reference color, and , and the thresholds for the respective channels. In a second step, the algorithm applies blob detection on the thresholded image. Both the color subtracted image and the thresholded image can be visualized.
Once the blobs of both colors have been extracted, close lying blobs of different color are combined to particles.
A color image with markers consisting of two blobs of different color. Both colors need to be sufficiently different from any color appearing in the background. (A background subtraction component or a mask component may be useful to get rid of unwanted areas.)
Particles, with the center being between the two blobs, and the orientation pointing towards the blob of color 1.
Maximum number of particles to detect. Note that the algorithm first detects this many red and green blobs, and then matches them. Hence, if there are stray red or green areas in your image (not part of a marker), you should choose a number of particles that is slightly higher than the number of markers you deploy.
The maximum distance between the center of the red blob and the center of the green blob. Blobs that are farther away from each other are considered not being part of the same marker.
This distance is also used to eliminate stray blobs in the neighborhood of red or green blobs. More precisely, within any disk of this diameter (not radius), only the biggest red (resp. green) blob is detected.
The parameters of the output blobs can be choosen as the parameters of the first colored blob, the second one, or the combination of those (i.e. area added, centers averaged etc.)
Color 1 and 2
The reference color (, see description above).
Threshold R, G and B (for color 1 and 2)
The thresholds , and (see description above).
Selection by area (for color 1 and 2)
Check this to base blob selection on the blob area.
Min. blob size (for color 1 and 2)
Minimum area in pixels of a blob to select.
Max. blob size (for color 1 and 2)
Maximum area in pixels of a blob to select.
Selection by compactness (for color 1 and 2)
Check this to base blobs section on the compactness of the blob.
Min. compactness (for color 1 and 2)
Minimum compactness (0..1) of a blob to select.
Max. compactness (for color 1 and 2)
Maximum compactness (0..1) of a blob to select.