Currently, the function "find_three_stickers" is forced to return 3 points. If some of the points is missing or if the threshold parameters are misspecified, then it will still pick some point in the image.
Some checks can be implemented. Non-mutally exclusive options include:
- Eccentricity. This will probably remove errors due to glares which tend to be elongated.
- Size. Simplest to implement, probably can use 2 of the stickers to chose a third with the closest on size. Largest alone would be susceptible to glares.
- Angle. 3 points are expected to form a 90 degree angle (or close to it). Probably the most precise, but the least flexible.