Package boofcv.abst.geo.bundle
Interface BundleAdjustmentCamera
- All Known Implementing Classes:
BundleCameraProjective,BundleDummyCamera,BundleKannalaBrandt,BundlePinhole,BundlePinholeBrown,BundlePinholeSimplified,BundlePinholeSnavely,BundleUniversalOmni,BundleZoomSimplified
public interface BundleAdjustmentCamera
Generalized camera model for bundle adjustment. By implementing this function you can swap in and out
arbitrary camera models.
-
Method Summary
Modifier and TypeMethodDescriptionvoidgetIntrinsic(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.default voidsetCameraState(BundleCameraState state) Measured / known state of the camera when observations were made.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.
-
Method Details
-
setIntrinsic
void setIntrinsic(double[] parameters, int offset) Specifies the intrinsic camera parameters.- Parameters:
parameters- Array containing the parametersoffset- Location of first index in the array which the parameters are stored
-
getIntrinsic
void getIntrinsic(double[] parameters, int offset) Copies the intrinsic camera into the array.- Parameters:
parameters- Array containing the parametersoffset- Location of first index in the array which the parameters are stored
-
setCameraState
Measured / known state of the camera when observations were made. This can indicate the camera's zoom level when a mechanical zoom is available. If the model has a fixed state then this function is optional.- Parameters:
state- Camera's state.
-
project
Project the 3D point in the camera reference frame onto the camera's image plane.- 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
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) Computes 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.- 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
int getIntrinsicCount()Returns the number of intrinsic parameters for this model. If the camera is known then the number of parameters is zero- Returns:
- number of intrinsic parameters.
-
setTo
Set's the classes state to the value contained in this map. Used when deserializing. -
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. This is used for serialization to YAML.
-