public interface FiducialDetector<T extends boofcv.struct.image.ImageBase<T>>
| Modifier and Type | Method and Description |
|---|---|
boolean |
computeStability(int which,
double disturbance,
FiducialStability results)
Computes metrics which represents the fiducial's pose estimate stability given its current observed state.
|
void |
detect(T input)
Detects fiducials inside the image
|
georegression.struct.shapes.Polygon2D_F64 |
getBounds(int which,
georegression.struct.shapes.Polygon2D_F64 storage)
Used to retrieve the bounds around a marker in the image.
|
void |
getCenter(int which,
georegression.struct.point.Point2D_F64 location)
Returns where in the image the fiducial is.
|
boolean |
getFiducialToCamera(int which,
georegression.struct.se.Se3_F64 fiducialToCamera)
Used to retrieve the transformation from the fiducial's reference frame to the camera's reference frame.
|
long |
getId(int which)
If applicable, returns the ID of the fiducial found.
|
boofcv.struct.image.ImageType<T> |
getInputType()
Type of input image
|
boofcv.alg.distort.LensDistortionNarrowFOV |
getLensDistortion()
Returns the intrinsic parameters that it
|
java.lang.String |
getMessage(int which)
If applicable, returns a message associated with the fiducial.
|
double |
getWidth(int which)
Returns the width of the fiducial in world units.
|
boolean |
hasMessage()
If true then
getMessage(int) returns a valid message |
boolean |
hasUniqueID()
If true then
getId(int) returns a valid unique number |
boolean |
is3D()
If true then 3D information is available for the fiducial.
|
void |
setLensDistortion(boofcv.alg.distort.LensDistortionNarrowFOV distortion,
int width,
int height)
Specifies how to remove lens distortion from the input image and how to convert pixels into normalized
image coordinates.
|
int |
totalFound()
The total number of fiducial found
|
void detect(T input)
input - Input image. Not modified.int totalFound()
void getCenter(int which,
georegression.struct.point.Point2D_F64 location)
NOTE: The reprojected center might not be the same as the location returned here.
which - Fiducial's indexlocation - (output) Storage for the transform. modified.georegression.struct.shapes.Polygon2D_F64 getBounds(int which,
@Nullable
georegression.struct.shapes.Polygon2D_F64 storage)
which - Which fiducial.storage - (Optional) Storage for markers.long getId(int which)
hasUniqueID() to see if this function
returns a valid value.which - Detected fiducial's indexjava.lang.String getMessage(int which)
hasMessage() ()} to see if this function
returns a valid value.which - Detected fiducial's indexvoid setLensDistortion(@Nullable
boofcv.alg.distort.LensDistortionNarrowFOV distortion,
int width,
int height)
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 heightboofcv.alg.distort.LensDistortionNarrowFOV getLensDistortion()
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.
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.boolean getFiducialToCamera(int which,
georegression.struct.se.Se3_F64 fiducialToCamera)
which - Fiducial's indexfiducialToCamera - (output) Storage for the transform. modified.double getWidth(int which)
which - Fiducial's indexboolean is3D()
setLensDistortion(LensDistortionNarrowFOV,int,int). The following functions are then
enabled:
boolean hasUniqueID()
getId(int) returns a valid unique numberboolean hasMessage()
getMessage(int) returns a valid messageboofcv.struct.image.ImageType<T> getInputType()