Class ECoCheckDetector<T extends ImageGray<T>>

java.lang.Object
boofcv.alg.fiducial.calib.ecocheck.ECoCheckDetector<T>
All Implemented Interfaces:
VerbosePrint

public class ECoCheckDetector<T extends ImageGray<T>> extends Object implements VerbosePrint

Detects chessboard patterns with marker and grid coordinate information encoded inside of the inner white squares. Multiple unique markers can be detected and damaged/partial targets will work. If no binary patterns are found in a chessboard, then an "anonymous" pattern is returned. Anonymous chessboards are useful when trying to track distant targets. Which corners were decoded next to a binary pattern is recorded as those corners are extremely unlikely to be a false positive.

Processing steps: 1) x-corner detector. 2) find clusters of corners. 3) clusters into grids. 4) detect encoded binary data inside of grids. 5) align coordinate systems
  • Field Details

    • whiteBorderSampleCount

      public int whiteBorderSampleCount
      Number of points along a side it will sample when trying to determine if a border is white. Disable by settings to zero.
    • maxWhiteBorderFailFraction

      public double maxWhiteBorderFailFraction
      If more than this number of points fail the test consider it a failure
    • utils

      protected ECoCheckUtils utils
      Common utilities for decoding ECoCheck patterns
    • detector

      protected DetectChessboardCornersXPyramid<T extends ImageGray<T>> detector
      Chessboard corner detector
    • clusterFinder

      protected ChessboardCornerClusterFinder<T extends ImageGray<T>> clusterFinder
      Cluster Finder
    • clusterToGrid

      protected ChessboardCornerClusterToGrid clusterToGrid
      Cluster to grid
    • interpolate

      public InterpolatePixelS<T extends ImageGray<T>> interpolate
      Used to sample the input image when "undistorting" the bit pattern
    • found

      public final DogArray<ECoCheckFound> found
      Found chessboard patterns
  • Constructor Details

  • Method Details

    • process

      public void process(T input)
      Processes the image and searches for all chessboard patterns.
    • getImageType

      public ImageType<T> getImageType()
      Type of input image it processes
    • setVerbose

      public void setVerbose(@Nullable @Nullable PrintStream out, @Nullable @Nullable Set<String> configuration)
      Specified by:
      setVerbose in interface VerbosePrint