Class CalibrateMonoPlanar
- java.lang.Object
-
- boofcv.abst.geo.calibration.CalibrateMonoPlanar
-
public class CalibrateMonoPlanar extends java.lang.ObjectPerforms the full processing loop for calibrating a mono camera from a planar grid. A directory is specified that the images are read in from. Calibration points are detected inside the image and feed into the Zhang99 algorithm for parameter estimation.
Internally it supports status updates for a GUI and skips over bad images. Invoke functions in the following order:
configure(boolean, int, boolean)reset()addImage(boofcv.struct.image.GrayF32)process()getIntrinsic()
Most 3D operations in BoofCV assume that the image coordinate system is right handed and the +Z axis is pointing out of the camera. In standard image coordinate the origin (0,0) is at the top left corner with +x going to the right and +y going down, then if it is right handed +z will be out of the image. However some times this pseudo standard is not followed and the y-axis needs to be inverted by setting isInverted to true.
-
-
Field Summary
Fields Modifier and Type Field and Description booleanverbose
-
Constructor Summary
Constructors Constructor and Description CalibrateMonoPlanar(CalibrationDetector detector)High level configuration
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method and Description booleanaddImage(GrayF32 image)Adds a new view of the calibration target and processes it.static java.util.List<ImageResults>computeErrors(java.util.List<CalibrationObservation> observation, Zhang99ParamAll param, java.util.List<Point2D_F64> grid)After the parameters have been estimated this computes the error for each calibration point in each image and summary error statistics.voidconfigure(boolean assumeZeroSkew, int numRadialParam, boolean includeTangential)Specify calibration assumptions.java.util.List<ImageResults>getErrors()IntrinsicParametersgetIntrinsic()java.util.List<CalibrationObservation>getObservations()Zhang99ParamAllgetZhangParam()static voidprintErrors(java.util.List<ImageResults> results)Prints out error information to standard outvoidprintStatistics()IntrinsicParametersprocess()After calibration points have been found this invokes the Zhang99 algorithm to estimate calibration parameters.voidremoveLatestImage()Removes the most recently added imagevoidreset()Resets internal data structures.
-
-
-
Constructor Detail
-
CalibrateMonoPlanar
public CalibrateMonoPlanar(CalibrationDetector detector)
High level configuration- Parameters:
detector- Target detection algorithm.
-
-
Method Detail
-
configure
public void configure(boolean assumeZeroSkew, int numRadialParam, boolean includeTangential)Specify calibration assumptions.- Parameters:
assumeZeroSkew- If true then zero skew is assumed. Typically this will be true.numRadialParam- Number of radial parameters. Typically set to 2.includeTangential- If true it will estimate tangential distortion parameters. Try false then true
-
reset
public void reset()
Resets internal data structures. Must call before adding images
-
addImage
public boolean addImage(GrayF32 image)
Adds a new view of the calibration target and processes it. If processing fails then false is returned.- Parameters:
image- Image of a calibration target- Returns:
- true if a target was detected in the image or not
-
removeLatestImage
public void removeLatestImage()
Removes the most recently added image
-
process
public IntrinsicParameters process()
After calibration points have been found this invokes the Zhang99 algorithm to estimate calibration parameters. Error statistics are also computed.
-
printStatistics
public void printStatistics()
-
computeErrors
public static java.util.List<ImageResults> computeErrors(java.util.List<CalibrationObservation> observation, Zhang99ParamAll param, java.util.List<Point2D_F64> grid)
After the parameters have been estimated this computes the error for each calibration point in each image and summary error statistics.- Parameters:
observation- Observed control point locationparam- Found calibration parameters- Returns:
- List of error statistics
-
printErrors
public static void printErrors(java.util.List<ImageResults> results)
Prints out error information to standard out
-
getObservations
public java.util.List<CalibrationObservation> getObservations()
-
getErrors
public java.util.List<ImageResults> getErrors()
-
getZhangParam
public Zhang99ParamAll getZhangParam()
-
getIntrinsic
public IntrinsicParameters getIntrinsic()
-
-
DataMelt 3.0 © DataMelt by jWork.ORG