FlowEngine 7.530
Photogrammetry Software Development Kit
Loading...
Searching...
No Matches
FlowEngine::CameraCalibrationInterface Class Referenceabstract

Stores a camera calibration. More...

#include <CameraCalibrationInterface.h>

Public Types

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

Public Member Functions

virtual FLE_DLL ~CameraCalibrationInterface ()=default
 Default virtual destructor.
 
virtual FLE_DLL Result getRadialDistortion (Buffer< double > outRadialDistortion) const =0
 
virtual FLE_DLL Result getFocalLength (double &outFx, double &outFy) const =0
 
virtual FLE_DLL Result getPrincipalPoint (double &outPx, double &outPy) const =0
 
virtual FLE_DLL Result 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
 
virtual FLE_DLL void setAdjustFocalLength (bool inAdj)=0
 
virtual FLE_DLL void setAdjustPrincipalPoint (bool inAdj)=0
 
virtual FLE_DLL void setAdjustRadialDistortion (bool inAdj)=0
 
virtual FLE_DLL void setAdjustTangentialDistortion (bool inAdj)=0
 
virtual FLE_DLL void setUsePrecalibrationStep (bool inPC)=0
 
virtual FLE_DLL void setAutocalibrated (bool inAC)=0
 
virtual FLE_DLL bool getAdjustFocalLength () const =0
 
virtual FLE_DLL bool getAdjustPrincipalPoint () const =0
 
virtual FLE_DLL bool getAdjustRadialDistortion () const =0
 
virtual FLE_DLL bool getAdjustTangentialDistortion () const =0
 
virtual FLE_DLL bool getUsePrecalibrationStep () const =0
 
virtual FLE_DLL bool getAutocalibrated () const =0
 
virtual FLE_DLL Result undistortImage (Image &inOutImage) const =0
 
virtual FLE_DLL Result saveToXML (ConstStringBuffer filePath) const =0
 
virtual FLE_DLL Result loadFromXML (ConstStringBuffer filePath)=0
 
virtual FLE_DLL Size getModelNameLength () const =0
 
virtual FLE_DLL Result getModelName (StringBuffer outName) const =0
 
virtual FLE_DLL Result setModelName (ConstStringBuffer name)=0
 
virtual FLE_DLL Size getMakeNameLength () const =0
 
virtual FLE_DLL Result getMakeName (StringBuffer outName) const =0
 
virtual FLE_DLL Result setMakeName (ConstStringBuffer name)=0
 
virtual FLE_DLL Size getLensNameLength () const =0
 
virtual FLE_DLL Result getLensName (StringBuffer outName) const =0
 
virtual FLE_DLL Result setLensName (ConstStringBuffer name)=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

◆ getAdjustFocalLength()

virtual FLE_DLL bool FlowEngine::CameraCalibrationInterface::getAdjustFocalLength ( ) const
pure virtual

Get the focal length adjustment flag.

Returns
Focal length adjustment flag.

◆ getAdjustmentType()

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

Returns the calibration adjustment type

Parameters
[out]outAdjAdjustment type for this calibration

◆ getAdjustPrincipalPoint()

virtual FLE_DLL bool FlowEngine::CameraCalibrationInterface::getAdjustPrincipalPoint ( ) const
pure virtual

Get the principal point adjustment flag.

Returns
Principal point adjustment flag.

◆ getAdjustRadialDistortion()

virtual FLE_DLL bool FlowEngine::CameraCalibrationInterface::getAdjustRadialDistortion ( ) const
pure virtual

Get the radial distortion adjustment flag.

Returns
Radial distortion adjustment flag.

◆ getAdjustTangentialDistortion()

virtual FLE_DLL bool FlowEngine::CameraCalibrationInterface::getAdjustTangentialDistortion ( ) const
pure virtual

Get the tangential distortion adjustment flag.

Returns
Tangential distortion adjustment flag.

◆ getAutocalibrated()

virtual FLE_DLL bool FlowEngine::CameraCalibrationInterface::getAutocalibrated ( ) const
pure virtual

Get the autocalibration flag.

Returns
Autocalibration flag value.

◆ getFocalLength()

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

Returns the calibration focal lengths in pixel.

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
Returns
One of the following result codes:
Note
This function is not available in the free version of the SDK.

◆ getLensName()

virtual FLE_DLL Result FlowEngine::CameraCalibrationInterface::getLensName ( StringBuffer  outName) const
pure virtual
Returns
the length of the camera lens name of this entity.
Parameters
outNamea buffer that receives the name of the entity. Must be at least getLensNameLength() long.
Returns
One of the following result codes:

◆ getLensNameLength()

virtual FLE_DLL Size FlowEngine::CameraCalibrationInterface::getLensNameLength ( ) const
pure virtual
Returns
the length of the camera lens name of this entity.

◆ getMakeName()

virtual FLE_DLL Result FlowEngine::CameraCalibrationInterface::getMakeName ( StringBuffer  outName) const
pure virtual
Returns
the length of the camera make name of this entity.
Parameters
outNamea buffer that receives the camera make name of the entity. Must be at least getMakeNameLength() long.
Returns
One of the following result codes:

◆ getMakeNameLength()

virtual FLE_DLL Size FlowEngine::CameraCalibrationInterface::getMakeNameLength ( ) const
pure virtual
Returns
the length of the camera make name of this entity.

◆ getModelName()

virtual FLE_DLL Result FlowEngine::CameraCalibrationInterface::getModelName ( StringBuffer  outName) const
pure virtual
Returns
the length of the camera model name of this entity.
Parameters
outNamea buffer that receives the camera model name of the entity. Must be at least getModelNameLength() long.
Returns
One of the following result codes:

◆ getModelNameLength()

virtual FLE_DLL Size FlowEngine::CameraCalibrationInterface::getModelNameLength ( ) const
pure virtual
Returns
the length of the camera model name of this entity.

◆ getPrincipalPoint()

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

Returns 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
Returns
One of the following result codes:
Note
This function is not available in the free version of the SDK.

◆ getRadialDistortion()

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

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

Parameters
[out]outRadialDistortiona buffer that receives the data in row-major order. The buffer must be at least 5 elements long.
Returns
One of the following result codes:
Note
This function is not available in the free version of the SDK.

◆ getSkew()

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

Returns the calibration skew point in pixel.

Parameters
[out]outSkewthe skew of the calibration.
Returns
One of the following result codes:
Note
This function is not available in the free version of the SDK.

◆ getUsePrecalibrationStep()

virtual FLE_DLL bool FlowEngine::CameraCalibrationInterface::getUsePrecalibrationStep ( ) const
pure virtual

Get the precalibration step flag.

Returns
Precalibration flag value.

◆ loadFromXML()

virtual FLE_DLL Result FlowEngine::CameraCalibrationInterface::loadFromXML ( ConstStringBuffer  filePath)
pure virtual

Loads the camera calibration info from an XML file. The file shall contain 1 calibration.

Parameters
[in]filePathstring buffer that contains the UTF-8 file path.
Returns
One of the following result codes:
Note
This function is not available in the free version of the SDK.

◆ saveToXML()

virtual FLE_DLL Result FlowEngine::CameraCalibrationInterface::saveToXML ( ConstStringBuffer  filePath) const
pure virtual

Saves the camera calibration info to an XML file.

Parameters
[in]filePathstring buffer that contains the UTF-8 file path.
Returns
One of the following result codes:
Note
This function is not available in the free version of the SDK.

◆ setAdjustFocalLength()

virtual FLE_DLL void FlowEngine::CameraCalibrationInterface::setAdjustFocalLength ( bool  inAdj)
pure virtual

Set to adjust or not the focal length during the SfM reconstruction

Parameters
[in]inAdjAdjustment enabled or disabled

◆ 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

◆ setAdjustPrincipalPoint()

virtual FLE_DLL void FlowEngine::CameraCalibrationInterface::setAdjustPrincipalPoint ( bool  inAdj)
pure virtual

Set to adjust or not the principal point during the SfM reconstruction

Parameters
[in]inAdjAdjustment enabled or disabled

◆ setAdjustRadialDistortion()

virtual FLE_DLL void FlowEngine::CameraCalibrationInterface::setAdjustRadialDistortion ( bool  inAdj)
pure virtual

Set to adjust or not the radial distortion during the SfM reconstruction

Parameters
[in]inAdjAdjustment enabled or disabled

◆ setAdjustTangentialDistortion()

virtual FLE_DLL void FlowEngine::CameraCalibrationInterface::setAdjustTangentialDistortion ( bool  inAdj)
pure virtual

Set to adjust or not the tangential distortion during the SfM reconstruction

Parameters
[in]inAdjAdjustment enabled or disabled

◆ setAutocalibrated()

virtual FLE_DLL void FlowEngine::CameraCalibrationInterface::setAutocalibrated ( bool  inAC)
pure virtual

Set to consider the calibration fully autocalibrated.

Parameters
[in]inACAutocalibration enabled or disabled

◆ 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

◆ setLensName()

virtual FLE_DLL Result FlowEngine::CameraCalibrationInterface::setLensName ( ConstStringBuffer  name)
pure virtual

Set the camera lens name of this entity.

Parameters
namea constant string buffer containing the camera lens name of the entity
Returns
One of the following result codes:

◆ setMakeName()

virtual FLE_DLL Result FlowEngine::CameraCalibrationInterface::setMakeName ( ConstStringBuffer  name)
pure virtual

Set the camera make name of this entity.

Parameters
namea constant string buffer containing the camera make name of the entity
Returns
One of the following result codes:

◆ setModelName()

virtual FLE_DLL Result FlowEngine::CameraCalibrationInterface::setModelName ( ConstStringBuffer  name)
pure virtual

Set the camera model name of this entity.

Parameters
namea constant string buffer containing the camera model name of the entity
Returns
One of the following result codes:

◆ 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

◆ setUsePrecalibrationStep()

virtual FLE_DLL void FlowEngine::CameraCalibrationInterface::setUsePrecalibrationStep ( bool  inPC)
pure virtual

Set to use the precalibration step during the SfM reconstruction. When disabled the parameters are only adjusted in the final bundle adjustment.

Parameters
[in]inPCPrecalibration enabled or disabled

◆ undistortImage()

virtual FLE_DLL Result FlowEngine::CameraCalibrationInterface::undistortImage ( Image inOutImage) const
pure virtual

Undistorts the supplied image.

Parameters
[in,out]inOutImagethe image to be undistorted.
Returns
One of the following result codes: