Class BaseDetectFiducialSquare<T extends ImageGray>
- java.lang.Object
-
- boofcv.alg.fiducial.square.BaseDetectFiducialSquare<T>
-
- Direct Known Subclasses:
- DetectFiducialSquareBinary, DetectFiducialSquareImage, VisualizeSquareFiducial.Detector
public abstract class BaseDetectFiducialSquare<T extends ImageGray> extends java.lang.ObjectBase class for square fiducial detectors. Searches for quadrilaterals inside the image with a black border and inner contours. It then removes perspective and lens distortion from the candidate quadrilateral and rendered onto a new image. The just mentioned image is then passed on to the class which extends this one. After being processed by the extending class, the corners are rotated to match and the 3D pose of the target found. Lens distortion is removed sparsely for performance reasons.
Must call
configure(boofcv.struct.calib.IntrinsicParameters, boolean)before it can process an image.Target orientation. Corner 0 = (-r,r), 1 = (r,r) , 2 = (r,-r) , 3 = (-r,-r).
-
-
Nested Class Summary
Nested Classes Modifier and Type Class and Description static classBaseDetectFiducialSquare.Result
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method and Description voidcomputeTargetToWorld(Quadrilateral_F64 quad, double lengthSide, Se3_F64 targetToWorld)Given observed location of corners, compute the transform from target to world frame.voidconfigure(IntrinsicParameters intrinsic, boolean cache)Specifies the image's intrinsic parameters and target sizeGrayU8getBinary()doublegetBorderWidthFraction()FastQueue<FoundFiducial>getFound()Returns list of found fiducialsjava.lang.Class<T>getInputType()QuadPoseEstimatorgetPoseEstimator()BinaryPolygonDetectorgetSquareDetector()voidprocess(T gray)Examines the input image to detect fiducials inside of itvoidsetVerbose(boolean verbose)Used to toggle on/off verbose debugging information
-
-
-
Method Detail
-
configure
public void configure(IntrinsicParameters intrinsic, boolean cache)
Specifies the image's intrinsic parameters and target size- Parameters:
intrinsic- Intrinsic parameters for the distortion free input imagecache- If there's lens distortion should it cache the transforms? Speeds it up by about 12%. Ignored if no lens distortion
-
process
public void process(T gray)
Examines the input image to detect fiducials inside of it- Parameters:
gray- Undistorted input image
-
computeTargetToWorld
public void computeTargetToWorld(Quadrilateral_F64 quad, double lengthSide, Se3_F64 targetToWorld)
Given observed location of corners, compute the transform from target to world frame. See code comments for correct ordering of corners in quad.- Parameters:
quad- (Input) Observed location of corner points in distorted pixels. Order is important.lengthSide- (Input) Length of a side on the squaretargetToWorld- (output) transform from target to world frame.
-
getFound
public FastQueue<FoundFiducial> getFound()
Returns list of found fiducials
-
setVerbose
public void setVerbose(boolean verbose)
Used to toggle on/off verbose debugging information- Parameters:
verbose- true for verbose output
-
getSquareDetector
public BinaryPolygonDetector getSquareDetector()
-
getBinary
public GrayU8 getBinary()
-
getInputType
public java.lang.Class<T> getInputType()
-
getPoseEstimator
public QuadPoseEstimator getPoseEstimator()
-
getBorderWidthFraction
public double getBorderWidthFraction()
-
-
DataMelt 3.0 © DataMelt by jWork.ORG