Black Spot Firmware
Figure 4.4 (a)When an imaginary light is shone across the ROI shadows are cast by markers onto a line below the ROI. (b)The original ROI has been partitioned into three smaller ROIs.
(a)This ROI requires two passes to partition correctly. As shown, after one pass the
left most ROI still contains two markers. (b) Partitioning of the ROI is complete after two passes.
By looking at Figure 4.3b, it should be obvious that the lines partition the ROI into three smaller ROIs containing one marker each. Turning this intuition into code is more difficult. How are these lines calculated? First, consider another example. The images of the markers can be thought of as solid objects through which light cannot pass. Now suppose a light is shone across the ROI. The markers cast shadows on an imaginary line that runs parallel to the bottom of the ROI. Figure 4.4a depicts this. The projection of the shadows onto this line gives the details of how to partition the ROI. The mid-points between the shadows defines the positions of the lines. Figure 4.4b shows ROIs created by partitioning the original ROI using the midpoints of the shadows.
difficult example is shown in Figure 4.5a. In this example the projection in one direc- tion is not enough to create ROIs containing only one marker. The first vertical projection creates ROIs containing, from left to right, two, one, and two markers. To separate these regions, each of these new ROIs is then projected in the horizontal direction resulting in Figure 4.5b. Only vertical and horizontal directions are used for projection as this simpli- fies the creation of the ROIs by allowing only vertically and horizontally aligned ROIs to be created.