Tutorial Fiducials
In computer vision, a fiducial marker is a known object from which can be identified and its pose estimated. BoofCV provides built in support several different fiducials which can be easily printed. Applications are provided for automatically creating postscript files for the printer and a high level interface for detecting, identifying and pose estimation. In the sections below a tutorial is provided for creating and detecting each type of fiducial.
Square Binary
The square binary fiducial encodes a 12-bit number, 4096 possible values, using a binary pattern. The number is encoded by breaking up the inner portion into 16 squares in a 4x4 grid. Three of the corners are always white and one black. This is how it resolves an orientation ambiguity.
A new fiducial can be created using the DetectFiducialSquareBinary application. For easy of use a Gradle script has been provided:
gradle fiducialBinary -Pwidth=10 -Pnumber=325
This will create a pattern which is 10cm wide and encodes the number 325. The output will be saved in "boofcv/applications/pattern.eps" file. See the top figure the resulting pattern.
Detection is easy enough using the high level Fiducial interface. See the example below for the details.