Interface BundleAdjustmentCamera

All Known Implementing Classes:
BundleCameraProjective, BundleDummyCamera, BundleKannalaBrandt, BundlePinhole, BundlePinholeBrown, BundlePinholeSimplified, BundlePinholeSnavely, BundleUniversalOmni

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 Type
    Method
    Description
    void
    getIntrinsic(double[] parameters, int offset)
    Copies the intrinsic camera into the array.
    int
    Returns the number of intrinsic parameters for this model.
    void
    jacobian(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.
    void
    project(double camX, double camY, double camZ, Point2D_F64 output)
    Project the 3D point in the camera reference frame onto the camera's image plane.
    void
    setIntrinsic(double[] parameters, int offset)
    Specifies the intrinsic camera parameters.
  • Method Details

    • setIntrinsic

      void setIntrinsic(double[] parameters, int offset)
      Specifies the intrinsic camera parameters.
      Parameters:
      parameters - Array containing the parameters
      offset - 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 parameters
      offset - Location of first index in the array which the parameters are stored
    • project

      void project(double camX, double camY, double camZ, Point2D_F64 output)
      Project the 3D point in the camera reference frame onto the camera's image plane.
      Parameters:
      camX - 3D point in camera reference frame
      camY - 3D point in camera reference frame
      camZ - 3D point in camera reference frame
      output - 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 frame
      camY - (Input) 3D point in camera reference frame
      camZ - (Input) 3D point in camera reference frame
      pointX - (Output) Partial of projected x' relative to input camera point.[@x'/@camX, @ x' / @ camY, @ x' / @ camZ] length 3
      pointY - (Output) Partial of projected y' relative to input camera point.[@y'/@camX, @ y' / @ camY, @ y' / @ camZ] length 3
      computeIntrinsic - If true the calibX and calibY is computed. Otherwise they are ignored and can be null
      calibX - (Output) Partial of projected x' relative to calibration parameters. length N
      calibY - (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.