Class DetectFiducialSquareGrid<T extends ImageGray<T>>


public class DetectFiducialSquareGrid<T extends ImageGray<T>> extends Object
A fiducial composed of BaseDetectFiducialSquare intended for use in calibration. It allows parts of the fiducial to be visible and uniquely determined across multiple cameras. The algorithm simply looks for the expected fiducials in an image and saves the corners that they appear at. Does not check to see if the ordering is correct. If the same fiducial appears multiple times that fiducial is ignored. Only one grid fiducial is expected to be visible at any time. The user must provide a set of fiducial ID numbers. Each unique numbers corresponds to an expected fiducial. The first number in the list refers to the fiducial in the top left corner (minus X and positive Y) in the fiducial's frame. The other elements are added in a row-major order.
Example of a grid of square binary fiducials. Any square fiducial can be used, including those with images inside.
  • Constructor Details

    • DetectFiducialSquareGrid

      public DetectFiducialSquareGrid(int numRows, int numCols, long[] numbers, BaseDetectFiducialSquare<T> detector)
      Configures the fiducial detector.
      numRows - Number of rows in the grid
      numCols - Number of columns in the grd
      numbers - The fiducial ID numbers its expected to see. Order matters.
      detector - Fiducial detector
  • Method Details

    • detect

      public boolean detect(T input)
      Searches for the fiducial inside the image. If at least a partial match is found true is returned.
      input - Input image
      true if at least one of the component fiducials is detected. False otherwise
    • getDetections

      public List<DetectFiducialSquareGrid.Detection> getDetections()
    • getDetector

      public BaseDetectFiducialSquare<T> getDetector()