FlowEngine  4.301
Photogrammetry Software Development Kit
FlowEngine::CameraCalibrationInterface Class Referenceabstract

Stores a camera calibration. More...

#include <CameraCalibrationInterface.h>

Public Types

enum  AdjustmentType : std::size_t {
  AdjustmentType::None = 0, AdjustmentType::AdjustInternals, AdjustmentType::AdjustInternalsAndK1K2K3, AdjustmentType::AdjustInternalsAndK1K2K3P1P2,
  AdjustmentType::AdjustInternalsWithPrereconstructionStep, AdjustmentType::AdjustInternalsAndK1K2K3WithPrereconstructionStep, AdjustmentType::AdjustInternalsAndK1K2K3P1P2WithPrereconstructionStep, AdjustmentType::AdjustInternalsWithAutocalibration,
  AdjustmentType::AdjustInternalsAndK1K2K3WithAutocalibration, AdjustmentType::AdjustInternalsAndK1K2K3P1P2WithAutocalibration
}
 Calibration Adjustment type used in the Structure from Motion procedure. More...
 

Public Member Functions

virtual FLE_DLL ~CameraCalibrationInterface ()=default
 Default virtual destructor. More...
 
virtual FLE_DLL Result getRadialDistortion (Buffer< double > outRadialDistortion) const =0
 
virtual FLE_DLL void getFocalLength (double &outFx, double &outFy) const =0
 
virtual FLE_DLL void getPrincipalPoint (double &outPx, double &outPy) const =0
 
virtual FLE_DLL void getSkew (double &outSkew) const =0
 
virtual FLE_DLL void getAdjustmentType (AdjustmentType &outAdj) const =0
 
virtual FLE_DLL Result setRadialDistortion (ConstBuffer< double > radialDistortion)=0
 
virtual FLE_DLL void setFocalLength (double inFx, double inFy)=0
 
virtual FLE_DLL void setPrincipalPoint (double inPx, double inPy)=0
 
virtual FLE_DLL void setSkew (double inSkew)=0
 
virtual FLE_DLL void setAdjustmentType (const AdjustmentType &inAdj)=0
 

Detailed Description

Stores a camera calibration.

Member Enumeration Documentation

◆ AdjustmentType

Calibration Adjustment type used in the Structure from Motion procedure.

Enumerator
None 

All the parameters are kept fixed during the SfM procedures.

AdjustInternals 

Adjust internal parameters during the SfM procedures (fx, fy, px, py)

AdjustInternalsAndK1K2K3 

Adjust internal parameters and radial distortion k1, k2, k3 parameters during the SfM procedures (fx, fy, px, py, k1, k2, k3)

AdjustInternalsAndK1K2K3P1P2 

Adjust internal parameters and radial distortion k1, k2, k3 and tangential distortion p1, p2 parameters during the SfM procedures (fx, fy, px, py, k1, k2, k3, p1, p2 )

AdjustInternalsWithPrereconstructionStep 

Adjust internal parameters during the SfM procedures (fx, fy, px, py) using a prereconstruction step

AdjustInternalsAndK1K2K3WithPrereconstructionStep 

Adjust internal parameters and radial distortion k1, k2, k3 parameters during the SfM procedures (fx, fy, px, py, k1, k2, k3) using a prereconstruction step

AdjustInternalsAndK1K2K3P1P2WithPrereconstructionStep 

Adjust internal parameters and radial distortion k1, k2, k3 and tangential distortion p1, p2 parameters during the SfM procedures (fx, fy, px, py, k1, k2, k3, p1, p2 ) using a prereconstruction step

AdjustInternalsWithAutocalibration 

Adjust internal parameters during the SfM procedures (fx, fy, px, py) using a autocalibration (no initial parameters required)

AdjustInternalsAndK1K2K3WithAutocalibration 

Adjust internal parameters and radial distortion k1, k2, k3 parameters during the SfM procedures (fx, fy, px, py, k1, k2, k3) using a autocalibration (no initial parameters required)

AdjustInternalsAndK1K2K3P1P2WithAutocalibration 

Adjust internal parameters and radial distortion k1, k2, k3 and tangential distortion p1, p2 parameters during the SfM procedures (fx, fy, px, py, k1, k2, k3, p1, p2 ) using a autocalibration (no initial parameters required)

Constructor & Destructor Documentation

◆ ~CameraCalibrationInterface()

virtual FLE_DLL FlowEngine::CameraCalibrationInterface::~CameraCalibrationInterface ( )
virtualdefault

Default virtual destructor.

Member Function Documentation

◆ getAdjustmentType()

virtual FLE_DLL void FlowEngine::CameraCalibrationInterface::getAdjustmentType ( AdjustmentType outAdj) const
pure virtual

Retrieves the calibration adjustment type

Parameters
[out]outAdjAdjustment type for this calibration

◆ getFocalLength()

virtual FLE_DLL void FlowEngine::CameraCalibrationInterface::getFocalLength ( double &  outFx,
double &  outFy 
) const
pure virtual

Retrieves the calibration focal lengths in pixel. This function is not available in the free version of the SDK.

Parameters
[out]outFxfocal length in pixel with respect to the x image axis
[out]outFyfocal length in pixel with respect to the y image axis

◆ getPrincipalPoint()

virtual FLE_DLL void FlowEngine::CameraCalibrationInterface::getPrincipalPoint ( double &  outPx,
double &  outPy 
) const
pure virtual

Retrieves the calibration principal point in pixel. This function is not available in the free version of the SDK.

Parameters
[out]outPxprincipal point in pixel with respect to the x image axis
[out]outPyprincipal point in pixel with respect to the y image axis

◆ getRadialDistortion()

virtual FLE_DLL Result FlowEngine::CameraCalibrationInterface::getRadialDistortion ( Buffer< double >  outRadialDistortion) const
pure virtual

Retrieves the Brown's model camera radial distortion coefficients organized as [k1 k2 p1 p2 k3]. This function is not available in the free version of the SDK.

Parameters
[out]outRadialDistortionpointer to a buffer that receives the data in row-major order. The buffer must be at least 5 elements long or the behavior is undefined

◆ getSkew()

virtual FLE_DLL void FlowEngine::CameraCalibrationInterface::getSkew ( double &  outSkew) const
pure virtual

Retrieves the calibration skew point in pixel. This function is not available in the free version of the SDK.

Parameters
[out]outSkewprincipal point in pixel with respect to the x image axis

◆ setAdjustmentType()

virtual FLE_DLL void FlowEngine::CameraCalibrationInterface::setAdjustmentType ( const AdjustmentType inAdj)
pure virtual

Set the calibration adjustment type

Parameters
[in]inAdjAdjustment type for this calibration

◆ setFocalLength()

virtual FLE_DLL void FlowEngine::CameraCalibrationInterface::setFocalLength ( double  inFx,
double  inFy 
)
pure virtual

Set the calibration focal lengths in pixel

Parameters
[in]inFxfocal length in pixel with respect to the x image axis
[in]inFyfocal length in pixel with respect to the y image axis

◆ setPrincipalPoint()

virtual FLE_DLL void FlowEngine::CameraCalibrationInterface::setPrincipalPoint ( double  inPx,
double  inPy 
)
pure virtual

Set the calibration principal point in pixel

Parameters
[in]inPxprincipal point in pixel with respect to the x image axis
[in]inPyprincipal point in pixel with respect to the y image axis

◆ setRadialDistortion()

virtual FLE_DLL Result FlowEngine::CameraCalibrationInterface::setRadialDistortion ( ConstBuffer< double >  radialDistortion)
pure virtual

Set the Brown's model camera radial distortion coefficients organized as [k1 k2 p1 p2 k3]

Parameters
[in]radialDistortionpointer to a buffer that receives the data in row-major order. The buffer must be at least 5 elements long or the behavior is undefined

◆ setSkew()

virtual FLE_DLL void FlowEngine::CameraCalibrationInterface::setSkew ( double  inSkew)
pure virtual

Set the calibration skew point in pixel

Parameters
[in]inSkewprincipal point in pixel with respect to the x image axis