Package boofcv.alg.geo.bundle.cameras
Class BundleKannalaBrandt
java.lang.Object
boofcv.alg.geo.bundle.cameras.BundleKannalaBrandt
- All Implemented Interfaces:
BundleAdjustmentCamera
Implementation of
CameraKannalaBrandt for bundle adjustment-
Field Summary
FieldsModifier and TypeFieldDescriptionbooleanTrue if a there are asymmetric distortion termsfinal CameraKannalaBrandtCamera model parametersbooleanforces skew to be zero -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidconfigure(boolean zeroSkew, int numSymmetric, int numAsymmetric) Configures the parameters in the modelvoidgetIntrinsic(double[] parameters, int offset) Copies the intrinsic camera into the array.intReturns the number of intrinsic parameters for this model.voidjacobian(double camX, double camY, double camZ, double[] pointX, double[] pointY, boolean computeIntrinsic, @org.jetbrains.annotations.Nullable double[] calibX, @org.jetbrains.annotations.Nullable double[] calibY) Computes the gradient for the projected pixel coordinate with partials for the input 3D point in camera reference frame and camera intrinsic parameters.voidproject(double camX, double camY, double camZ, Point2D_F64 output) Project the 3D point in the camera reference frame onto the camera's image plane.voidsetIntrinsic(double[] parameters, int offset) Specifies the intrinsic camera parameters.Set's the classes state to the value contained in this map.toMap()Convert's the values into a map format where each class's field has a corresponding key with the same name and primitive value or primitive array.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface boofcv.abst.geo.bundle.BundleAdjustmentCamera
setCameraState
-
Field Details
-
model
Camera model parameters -
zeroSkew
public boolean zeroSkewforces skew to be zero -
isAsymmetric
public boolean isAsymmetricTrue if a there are asymmetric distortion terms
-
-
Constructor Details
-
BundleKannalaBrandt
-
BundleKannalaBrandt
public BundleKannalaBrandt()
-
-
Method Details
-
configure
public void configure(boolean zeroSkew, int numSymmetric, int numAsymmetric) Configures the parameters in the model- Parameters:
zeroSkew- If true, then skew will always be zeronumSymmetric- Number of symmetric coefficientsnumAsymmetric- Number of asymmetric coefficients.
-
setIntrinsic
public void setIntrinsic(double[] parameters, int offset) Description copied from interface:BundleAdjustmentCameraSpecifies the intrinsic camera parameters.- Specified by:
setIntrinsicin interfaceBundleAdjustmentCamera- Parameters:
parameters- Array containing the parametersoffset- Location of first index in the array which the parameters are stored
-
getIntrinsic
public void getIntrinsic(double[] parameters, int offset) Description copied from interface:BundleAdjustmentCameraCopies the intrinsic camera into the array.- Specified by:
getIntrinsicin interfaceBundleAdjustmentCamera- Parameters:
parameters- Array containing the parametersoffset- Location of first index in the array which the parameters are stored
-
project
Description copied from interface:BundleAdjustmentCameraProject the 3D point in the camera reference frame onto the camera's image plane.- Specified by:
projectin interfaceBundleAdjustmentCamera- Parameters:
camX- 3D point in camera reference framecamY- 3D point in camera reference framecamZ- 3D point in camera reference frameoutput- Storage for projected point.
-
jacobian
public void jacobian(double camX, double camY, double camZ, double[] pointX, double[] pointY, boolean computeIntrinsic, @Nullable @org.jetbrains.annotations.Nullable double[] calibX, @Nullable @org.jetbrains.annotations.Nullable double[] calibY) Description copied from interface:BundleAdjustmentCameraComputes the gradient for the projected pixel coordinate with partials for the input 3D point in camera reference frame and camera intrinsic parameters.[x',y']is the projected pixel coordinate of the 3D point in camera reference frame.- Specified by:
jacobianin interfaceBundleAdjustmentCamera- Parameters:
camX- (Input) 3D point in camera reference framecamY- (Input) 3D point in camera reference framecamZ- (Input) 3D point in camera reference framepointX- (Output) Partial of projected x' relative to input camera point.[@x'/@camX, @ x' / @ camY, @ x' / @ camZ]length 3pointY- (Output) Partial of projected y' relative to input camera point.[@y'/@camX, @ y' / @ camY, @ y' / @ camZ]length 3computeIntrinsic- If true the calibX and calibY is computed. Otherwise they are ignored and can be nullcalibX- (Output) Partial of projected x' relative to calibration parameters. length NcalibY- (Output) Partial of projected y' relative to calibration parameters. length N
-
getIntrinsicCount
public int getIntrinsicCount()Description copied from interface:BundleAdjustmentCameraReturns the number of intrinsic parameters for this model. If the camera is known then the number of parameters is zero- Specified by:
getIntrinsicCountin interfaceBundleAdjustmentCamera- Returns:
- number of intrinsic parameters.
-
setTo
Description copied from interface:BundleAdjustmentCameraSet's the classes state to the value contained in this map. Used when deserializing.- Specified by:
setToin interfaceBundleAdjustmentCamera
-
toMap
Description copied from interface:BundleAdjustmentCameraConvert's the values into a map format where each class's field has a corresponding key with the same name and primitive value or primitive array. This is used for serialization to YAML.- Specified by:
toMapin interfaceBundleAdjustmentCamera
-