boofcv.abst.fiducial
Interface FiducialDetector<T extends ImageBase>
-
- All Known Implementing Classes:
- BaseSquare_FiducialDetector, CalibrationFiducialDetector, SquareBinary_to_FiducialDetector, SquareImage_to_FiducialDetector
public interface FiducialDetector<T extends ImageBase>Interface for detecting fiducials and estimating their 6-DOF pose. The camera must be calibrated by specifyingIntrinsicParameters. When one or more fiducials are detected their IDs and pose are returned.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method and Description booleancomputeStability(int which, double disturbance, FiducialStability results)Computes metrics which represents the fiducial's pose estimate stability given its current observed state.voiddetect(T input)Call to detect the fiducial inside the image.voidgetFiducialToCamera(int which, Se3_F64 fiducialToCamera)Used to retrieve the transformation from the fiducial's reference frame to the camera's reference frame.longgetId(int which)If applicable, returns the ID of the fiducial found.ImageType<T>getInputType()Type of input imagedoublegetWidth(int which)Returns the width of the fiducial in world units.booleanisSizeKnown()Does the fiducial have a known size? If the size is known thengetWidth(int)returns a meaningful number and the location can be fully resolved.booleanisSupportedID()If true then the ID number feature is supportedbooleanisSupportedPose()If true then the pose estimate is supportedvoidsetIntrinsic(IntrinsicParameters intrinsic)Specifies the intrinsic camera parameters.inttotalFound()The total number of targets found
-
-
-
Method Detail
-
detect
void detect(T input)
Call to detect the fiducial inside the image. Must callsetIntrinsic(boofcv.struct.calib.IntrinsicParameters)first.- Parameters:
input- Input image. Not modified.
-
computeStability
boolean computeStability(int which, double disturbance, FiducialStability results)Computes metrics which represents the fiducial's pose estimate stability given its current observed state. This can be viewed as an estimate of the pose estimate's precision, but not its accuracy. These numbers are generated by perturbing landmarks (by the user provided amount) and seeing how it affects the pose estimate..
The metrics should be considered more qualitative than quantitative since exactly how this metric is computed isn't specified and can vary depending on target type of implementation type. The results could every vary each time its called, even with the the exact same inputs.
- Parameters:
which- Index of which fiducial the stability is being requested fromdisturbance- Amount of the applied disturbance, in pixels. Try 0.25results- (output) Storage for stability metrics.- Returns:
- true if successful or false if it failed for some reason
-
setIntrinsic
void setIntrinsic(IntrinsicParameters intrinsic)
Specifies the intrinsic camera parameters. Allows for the euclidean geometry of be extracted from a single image- Parameters:
intrinsic- The camera's intrinsic parmeters
-
totalFound
int totalFound()
The total number of targets found- Returns:
- number of targets found
-
getFiducialToCamera
void getFiducialToCamera(int which, Se3_F64 fiducialToCamera)Used to retrieve the transformation from the fiducial's reference frame to the camera's reference frame.- Parameters:
which- Fiducial's indexfiducialToCamera- (output) Storage for the transform. modified.
-
getId
long getId(int which)
If applicable, returns the ID of the fiducial found.- Parameters:
which- Fiducial's index- Returns:
- ID of the fiducial
-
getWidth
double getWidth(int which)
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.
-
isSupportedID
boolean isSupportedID()
If true then the ID number feature is supported- Returns:
- true if supported or false if not
-
isSupportedPose
boolean isSupportedPose()
If true then the pose estimate is supported- Returns:
- true if supported or false if not
-
isSizeKnown
boolean isSizeKnown()
Does the fiducial have a known size? If the size is known thengetWidth(int)returns a meaningful number and the location can be fully resolved.- Returns:
- true if it's size is known
-
-
DataMelt 3.0 © DataMelt by jWork.ORG