Class CalibrationFiducialDetector<T extends ImageGray<T>>

java.lang.Object
boofcv.abst.fiducial.FiducialDetectorPnP<T>
boofcv.abst.fiducial.CalibrationFiducialDetector<T>
All Implemented Interfaces:
FiducialDetector<T>

public class CalibrationFiducialDetector<T extends ImageGray<T>>
extends FiducialDetectorPnP<T>
Wrapper which allows a calibration target to be used like a fiducial for pose estimation. The origin of the coordinate system depends on the default for the calibration target.
  • Constructor Details

  • Method Details

    • init

      protected void init​(DetectSingleFiducialCalibration detector, double width, Class<T> imageType)
    • getSideWidth

      public double getSideWidth​(int which)
      Description copied from class: FiducialDetectorPnP
      Width of the fiducial. used to compute stability
      Specified by:
      getSideWidth in class FiducialDetectorPnP<T extends ImageGray<T>>
      Parameters:
      which - specifies which fiducial
      Returns:
      the width
    • getSideHeight

      public double getSideHeight​(int which)
      Description copied from class: FiducialDetectorPnP
      Height of the fiducial. used to compute stability
      Specified by:
      getSideHeight in class FiducialDetectorPnP<T extends ImageGray<T>>
      Parameters:
      which - specifies which fiducial
      Returns:
      the height
    • selectBoundaryCorners

      protected void selectBoundaryCorners()
      Selects points which will be the corners in the boundary. Finds the convex hull.
    • detect

      public void detect​(T input)
      Description copied from interface: FiducialDetector
      Detects fiducials inside the image. Each call to this function only depends upon the input image. The previous calls do not affect it's outcome.
      Parameters:
      input - Input image. Not modified.
    • setLensDistortion

      public void setLensDistortion​(@Nullable @Nullable LensDistortionNarrowFOV distortion, int width, int height)
      Description copied from interface: FiducialDetector
      Specifies how to remove lens distortion from the input image and how to convert pixels into normalized image coordinates.
      Specified by:
      setLensDistortion in interface FiducialDetector<T extends ImageGray<T>>
      Overrides:
      setLensDistortion in class FiducialDetectorPnP<T extends ImageGray<T>>
      Parameters:
      distortion - Lens distortion model. null if you want to remove a lens distortion model that had previously been set.
      width - Input image's width.
      height - Input image's height
    • getCenter

      public void getCenter​(int which, Point2D_F64 location)
      Returns the detection point average location. This will NOT be the same as the geometric center.
      Parameters:
      which - Fiducial's index
      location - (output) Storage for the transform. modified.
    • getBounds

      public Polygon2D_F64 getBounds​(int which, @Nullable @Nullable Polygon2D_F64 storage)
      Description copied from interface: FiducialDetector
      Used to retrieve the bounds around a marker in the image. How the bounds are defined is left up the implementation. It could be a simple rectangle or it could be corner features.
      Parameters:
      which - Which fiducial.
      storage - (Optional) Storage for fiducials.
      Returns:
      Found marker. Points are owned by the caller and will not be modified in the future.
    • totalFound

      public int totalFound()
      Description copied from interface: FiducialDetector
      The total number of fiducial found
      Returns:
      number of targets found
    • getId

      public long getId​(int which)
      Description copied from interface: FiducialDetector
      If applicable, returns the ID of the fiducial found. Call FiducialDetector.hasID() to see if this function returns a valid value.
      Parameters:
      which - Detected fiducial's index
      Returns:
      ID of the fiducial
    • getMessage

      public String getMessage​(int which)
      Description copied from interface: FiducialDetector
      If applicable, returns a message associated with the fiducial. Call FiducialDetector.hasMessage() ()} to see if this function returns a valid value.
      Parameters:
      which - Detected fiducial's index
      Returns:
      Encoded message
    • getInputType

      public ImageType<T> getInputType()
      Description copied from interface: FiducialDetector
      Type of input image
    • getCalibrationPoints

      public List<Point2D_F64> getCalibrationPoints()
    • getCalibDetector

      public DetectSingleFiducialCalibration getCalibDetector()
    • getPoints2D3D

      public List<Point2D3D> getPoints2D3D()
    • getWidth

      public double getWidth​(int which)
      Description copied from interface: FiducialDetector
      Returns the width of the fiducial in world units. If not square then it returns a reasonable approximation. Intended for use in visualization and not precise calculations.
      Parameters:
      which - Fiducial's index
      Returns:
      Fiducial's width.
    • hasID

      public boolean hasID()
      Description copied from interface: FiducialDetector
      If true then FiducialDetector.getId(int) returns a valid unique number
      Returns:
      boolean
    • hasMessage

      public boolean hasMessage()
      Description copied from interface: FiducialDetector
      If true then FiducialDetector.getMessage(int) returns a valid message
      Returns:
      boolean
    • getDetectedControl

      public List<PointIndex2D_F64> getDetectedControl​(int which)
      Description copied from class: FiducialDetectorPnP
      Returns a list of detected control points in the image for the specified fiducial. Observations will be in distorted image pixels.
      Specified by:
      getDetectedControl in class FiducialDetectorPnP<T extends ImageGray<T>>
    • getControl3D

      protected List<Point2D3D> getControl3D​(int which)
      Description copied from class: FiducialDetectorPnP
      3D location of control points in the fiducial reference frame
      Specified by:
      getControl3D in class FiducialDetectorPnP<T extends ImageGray<T>>
      Returns:
      3D location of control points