documentation

IntrinsicDataWrapper

Functions for managing IntrinsicDataWrapper objects. More...

Functions

VL_SDK_API void VL_CALLINGCONVENTION vlDelete_IntrinsicDataWrapper (vlIntrinsicDataWrapper_t *intrinsicDataWrapper)
 Deletes an IntrinsicDataWrapper object. More...
 
VL_SDK_API vlIntrinsicDataWrapper_t *VL_CALLINGCONVENTION vlIntrinsicDataWrapper_Clone (vlIntrinsicDataWrapper_t *intrinsicDataWrapper)
 Creates a copy of the IntrinsicDataWrapper object and returns a pointer to it. More...
 
VL_SDK_API bool VL_CALLINGCONVENTION vlIntrinsicDataWrapper_GetCalibrated (vlIntrinsicDataWrapper_t *intrinsicDataWrapper)
 Returns whether the intrinsic parameters are valid. More...
 
VL_SDK_API double VL_CALLINGCONVENTION vlIntrinsicDataWrapper_GetCalibrationError (vlIntrinsicDataWrapper_t *intrinsicDataWrapper)
 Returns the calibration error. More...
 
VL_SDK_API double VL_CALLINGCONVENTION vlIntrinsicDataWrapper_GetCxNorm (vlIntrinsicDataWrapper_t *intrinsicDataWrapper)
 Returns the normalized x-component of the principal point. More...
 
VL_SDK_API double VL_CALLINGCONVENTION vlIntrinsicDataWrapper_GetCyNorm (vlIntrinsicDataWrapper_t *intrinsicDataWrapper)
 Returns the normalized y-component of the principal point. More...
 
VL_SDK_API bool VL_CALLINGCONVENTION vlIntrinsicDataWrapper_GetDistortionParameters (vlIntrinsicDataWrapper_t *intrinsicDataWrapper, double k[], unsigned int elementCount)
 Retrieves the radial and tangential distortion parameters. More...
 
VL_SDK_API double VL_CALLINGCONVENTION vlIntrinsicDataWrapper_GetFxNorm (vlIntrinsicDataWrapper_t *intrinsicDataWrapper)
 Returns the normalized focal length of the intrinsic camera calibration in x direction. More...
 
VL_SDK_API double VL_CALLINGCONVENTION vlIntrinsicDataWrapper_GetFyNorm (vlIntrinsicDataWrapper_t *intrinsicDataWrapper)
 Returns the normalized focal length of the intrinsic camera calibration in y direction. More...
 
VL_SDK_API unsigned int VL_CALLINGCONVENTION vlIntrinsicDataWrapper_GetHeight (vlIntrinsicDataWrapper_t *intrinsicDataWrapper)
 Returns the height of the intrinsic camera calibration. More...
 
VL_SDK_API bool VL_CALLINGCONVENTION vlIntrinsicDataWrapper_GetProjectionMatrix (vlIntrinsicDataWrapper_t *intrinsicDataWrapper, float nearFact, float farFact, unsigned int screenWidth, unsigned int screenHeight, unsigned int renderRotation, unsigned int mode, float matrix[], unsigned int matrixElementCount)
 Computed the projection matrix from the intrinsic camera parameters. More...
 
VL_SDK_API double VL_CALLINGCONVENTION vlIntrinsicDataWrapper_GetSkewNorm (vlIntrinsicDataWrapper_t *intrinsicDataWrapper)
 Returns the normalized skew of the intrinsic camera calibration. More...
 
VL_SDK_API unsigned int VL_CALLINGCONVENTION vlIntrinsicDataWrapper_GetWidth (vlIntrinsicDataWrapper_t *intrinsicDataWrapper)
 Returns the width of the intrinsic camera calibration. More...
 
VL_SDK_API bool VL_CALLINGCONVENTION vlIntrinsicDataWrapper_SetDistortionParameters (vlIntrinsicDataWrapper_t *intrinsicDataWrapper, const double k[], unsigned int elementCount)
 Sets the radial and tangential distortion parameters. More...
 
VL_SDK_API vlIntrinsicDataWrapper_t *VL_CALLINGCONVENTION vlNew_IntrinsicDataWrapper (unsigned int width, unsigned int height, double fxNorm, double fyNorm, double cxNorm, double cyNorm, double skewNorm)
 Creates a new IntrinsicDataWrapper object and returns a pointer to it. More...
 

Detailed Description

Functions for managing IntrinsicDataWrapper objects.

The IntrinsicDataWrapper is a wrapper for an IntrinsicData object. IntrinsicData objects represent the intrinsic camera parameters (focal length, principal point, skew and distortion parameters).

Function Documentation

◆ vlDelete_IntrinsicDataWrapper()

VL_SDK_API void VL_CALLINGCONVENTION vlDelete_IntrinsicDataWrapper ( vlIntrinsicDataWrapper_t intrinsicDataWrapper)

Deletes an IntrinsicDataWrapper object.

Call this function if you used the vlNew_IntrinsicDataWrapper function to create the object and you are now done using it.

Parameters
intrinsicDataWrapperPointer to an IntrinsicDataWrapper object.

◆ vlIntrinsicDataWrapper_Clone()

VL_SDK_API vlIntrinsicDataWrapper_t *VL_CALLINGCONVENTION vlIntrinsicDataWrapper_Clone ( vlIntrinsicDataWrapper_t intrinsicDataWrapper)

Creates a copy of the IntrinsicDataWrapper object and returns a pointer to it.

This pointer must be released using vlDelete_IntrinsicDataWrapper.

Parameters
intrinsicDataWrapperPointer to an IntrinsicDataWrapper object.
Returns
A pointer to the new IntrinsicDataWrapper object.

◆ vlIntrinsicDataWrapper_GetCalibrated()

VL_SDK_API bool VL_CALLINGCONVENTION vlIntrinsicDataWrapper_GetCalibrated ( vlIntrinsicDataWrapper_t intrinsicDataWrapper)

Returns whether the intrinsic parameters are valid.

A intrinsic camera calibration used for tracking should always be valid.

Parameters
intrinsicDataWrapperPointer to an IntrinsicDataWrapper object.
Returns
true, if the intrinsic calibration is valid; false otherwise.

◆ vlIntrinsicDataWrapper_GetCalibrationError()

VL_SDK_API double VL_CALLINGCONVENTION vlIntrinsicDataWrapper_GetCalibrationError ( vlIntrinsicDataWrapper_t intrinsicDataWrapper)

Returns the calibration error.

The reprojection error in pixel. This is interesting for evaluating the quality of a camera calibration.

Parameters
intrinsicDataWrapperPointer to an IntrinsicDataWrapper object.
Returns
The reprojection error in pixel.

◆ vlIntrinsicDataWrapper_GetCxNorm()

VL_SDK_API double VL_CALLINGCONVENTION vlIntrinsicDataWrapper_GetCxNorm ( vlIntrinsicDataWrapper_t intrinsicDataWrapper)

Returns the normalized x-component of the principal point.

The x-component was normalized through a division by the width of the camera calibration.

Parameters
intrinsicDataWrapperPointer to an IntrinsicDataWrapper object.
Returns
Normalized x-component of the principal point.

◆ vlIntrinsicDataWrapper_GetCyNorm()

VL_SDK_API double VL_CALLINGCONVENTION vlIntrinsicDataWrapper_GetCyNorm ( vlIntrinsicDataWrapper_t intrinsicDataWrapper)

Returns the normalized y-component of the principal point.

The y-component was normalized through a division by the height of the camera calibration.

Parameters
intrinsicDataWrapperPointer to an IntrinsicDataWrapper object.
Returns
Normalized y-component of the principal point.

◆ vlIntrinsicDataWrapper_GetDistortionParameters()

VL_SDK_API bool VL_CALLINGCONVENTION vlIntrinsicDataWrapper_GetDistortionParameters ( vlIntrinsicDataWrapper_t intrinsicDataWrapper,
double  k[],
unsigned int  elementCount 
)

Retrieves the radial and tangential distortion parameters.

Parameters
intrinsicDataWrapperPointer to an IntrinsicDataWrapper object.
kDouble array with 5 elements for storing the distortion parameters.
elementCountNumber of elements in the given array. This should be 5.
Returns
true, on success; false otherwise.

◆ vlIntrinsicDataWrapper_GetFxNorm()

VL_SDK_API double VL_CALLINGCONVENTION vlIntrinsicDataWrapper_GetFxNorm ( vlIntrinsicDataWrapper_t intrinsicDataWrapper)

Returns the normalized focal length of the intrinsic camera calibration in x direction.

The focal length in x direction was normalized through a division by the width of the camera calibration.

Parameters
intrinsicDataWrapperPointer to an IntrinsicDataWrapper object.
Returns
Normalized focal length in x direction.

◆ vlIntrinsicDataWrapper_GetFyNorm()

VL_SDK_API double VL_CALLINGCONVENTION vlIntrinsicDataWrapper_GetFyNorm ( vlIntrinsicDataWrapper_t intrinsicDataWrapper)

Returns the normalized focal length of the intrinsic camera calibration in y direction.

The focal length in y direction was normalized through a division by the height of the camera calibration.

Parameters
intrinsicDataWrapperPointer to an IntrinsicDataWrapper object.
Returns
Normalized focal length in y direction.

◆ vlIntrinsicDataWrapper_GetHeight()

VL_SDK_API unsigned int VL_CALLINGCONVENTION vlIntrinsicDataWrapper_GetHeight ( vlIntrinsicDataWrapper_t intrinsicDataWrapper)

Returns the height of the intrinsic camera calibration.

Parameters
intrinsicDataWrapperPointer to an IntrinsicDataWrapper object.
Returns
The height in pixels.

◆ vlIntrinsicDataWrapper_GetProjectionMatrix()

VL_SDK_API bool VL_CALLINGCONVENTION vlIntrinsicDataWrapper_GetProjectionMatrix ( vlIntrinsicDataWrapper_t intrinsicDataWrapper,
float  nearFact,
float  farFact,
unsigned int  screenWidth,
unsigned int  screenHeight,
unsigned int  renderRotation,
unsigned int  mode,
float  matrix[],
unsigned int  matrixElementCount 
)

Computed the projection matrix from the intrinsic camera parameters.

The returned matrix is stored in the following order (column-major order):

\[ \begin{bmatrix} 0 & 4 & 8 & 12\\ 1 & 5 & 9 & 13\\ 2 & 6 & 10 & 14\\ 3 & 7 & 11 & 15\\ \end{bmatrix} \]

Parameters
intrinsicDataWrapperPointer to an IntrinsicDataWrapper object.
nearFactValue for the near clipping plane.
farFactValue for the far clipping plane.
screenWidthWidth of the screen.
screenHeightHeight of the screen.
renderRotationHow the rendering is rotated relative to the orientation of the images received from the VisionLib. E.g., if the image will be rendered in landscape-left mode and the images are also in landscape-left mode, then VL_RENDER_ROTATION_CCW_0 should be used. If the image will be rendered in portrait mode, but the images are in landscape-left mode, then VL_RENDER_ROTATION_CCW_270 should be used.
modeThe mode defines how to handle mismatching aspect ratios. Use VL_FITTING_MODE_COVER to scale the projection surface so that it covers the whole screen. Use VL_FITTING_MODE_CONTAIN to scale the projection surface so that it is completely contained inside the screen.
matrixFloat array with 16 elements for storing the projection matrix.
matrixElementCountNumber of elements in the given array. This should be 16.
Returns
true, on success; false otherwise.

◆ vlIntrinsicDataWrapper_GetSkewNorm()

VL_SDK_API double VL_CALLINGCONVENTION vlIntrinsicDataWrapper_GetSkewNorm ( vlIntrinsicDataWrapper_t intrinsicDataWrapper)

Returns the normalized skew of the intrinsic camera calibration.

The skew was normalized through a division by the width of the camera calibration.

Parameters
intrinsicDataWrapperPointer to an IntrinsicDataWrapper object.
Returns
Normalized skew.

◆ vlIntrinsicDataWrapper_GetWidth()

VL_SDK_API unsigned int VL_CALLINGCONVENTION vlIntrinsicDataWrapper_GetWidth ( vlIntrinsicDataWrapper_t intrinsicDataWrapper)

Returns the width of the intrinsic camera calibration.

Parameters
intrinsicDataWrapperPointer to an IntrinsicDataWrapper object.
Returns
The width in pixels.

◆ vlIntrinsicDataWrapper_SetDistortionParameters()

VL_SDK_API bool VL_CALLINGCONVENTION vlIntrinsicDataWrapper_SetDistortionParameters ( vlIntrinsicDataWrapper_t intrinsicDataWrapper,
const double  k[],
unsigned int  elementCount 
)

Sets the radial and tangential distortion parameters.

Parameters
intrinsicDataWrapperPointer to an IntrinsicDataWrapper object.
kDouble array with 5 elements, which contains the distortion parameters.
elementCountNumber of elements in the given array. This should be 5.
Returns
true, on success; false otherwise.

◆ vlNew_IntrinsicDataWrapper()

VL_SDK_API vlIntrinsicDataWrapper_t *VL_CALLINGCONVENTION vlNew_IntrinsicDataWrapper ( unsigned int  width,
unsigned int  height,
double  fxNorm,
double  fyNorm,
double  cxNorm,
double  cyNorm,
double  skewNorm 
)

Creates a new IntrinsicDataWrapper object and returns a pointer to it.

This pointer must be released using vlDelete_IntrinsicDataWrapper.

Parameters
widthThe width of the intrinsic
heightThe height of the intrinsic.
fxNormThe normalized focal length in x direction of the intrinsic.
fyNormThe normalized focal length in y direction of the intrinsic.
cxNormThe normalized x-component of the principal point direction of the intrinsic.
cyNormThe normalized y-component of the principal point direction of the intrinsic.
skewNormThe normalized skew of the intrinsic.
Returns
A pointer to the new IntrinsicDataWrapper object.