Tutorial Fiducials

From BoofCV
Revision as of 09:22, 3 September 2014 by Peter (talk | contribs) (Created page with "<center> <gallery caption="Supported Fiducials" heights=200 widths=200 > Image:Fiducial_squre_binary.png| Square Binary Image:Example_Image_segmentation_Lines.jpg|Region borde...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigationJump to search

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.

Binary Detection Example

Square Image

Calibration Target