Distortion Class Reference

Camera distortion based on the Brown-Conrady model. More...

#include <rendering/rendering.hh>

Public Member Functions

 Distortion ()
 Constructor. More...
 
virtual ~Distortion ()
 Destructor. More...
 
bool Crop () const
 Get whether or not the camera is being cropped to account for black borders created by barrel distortion. More...
 
math::Vector2d GetCenter () const
 Get the distortion center. More...
 
double GetK1 () const
 Get the radial distortion coefficient k1. More...
 
double GetK2 () const
 Get the radial distortion coefficient k2. More...
 
double GetK3 () const
 Get the radial distortion coefficient k3. More...
 
double GetP1 () const
 Get the tangential distortion coefficient p1. More...
 
double GetP2 () const
 Get the tangential distortion coefficient p2. More...
 
virtual void Load (sdf::ElementPtr _sdf)
 Load the camera with a set of parmeters. More...
 
void SetCamera (CameraPtr _camera)
 Set the camera which distortion will be applied to. More...
 
void SetCrop (bool _crop)
 Set whether to crop the black border around the distorted image points. More...
 

Static Public Member Functions

static math::Vector2d Distort (const math::Vector2d &_in, const math::Vector2d &_center, double _k1, double _k2, double _k3, double _p1, double _p2)
 Apply distortion model. More...
 

Protected Member Functions

void CalculateAndApplyDistortionScale ()
 calculate the correct scale factor to "zoom" the render, cutting off black borders caused by distortion (only if the crop flag has been set). More...
 
ignition::math::Vector2d DistortionMapValueClamped (const int x, const int y) const
 get the distortion map value. More...
 

Protected Attributes

sdf::ElementPtr sdf
 Distortion SDF values. More...
 

Detailed Description

Camera distortion based on the Brown-Conrady model.

Constructor & Destructor Documentation

◆ Distortion()

Constructor.

◆ ~Distortion()

virtual ~Distortion ( )
virtual

Destructor.

Member Function Documentation

◆ CalculateAndApplyDistortionScale()

void CalculateAndApplyDistortionScale ( )
protected

calculate the correct scale factor to "zoom" the render, cutting off black borders caused by distortion (only if the crop flag has been set).

◆ Crop()

bool Crop ( ) const

Get whether or not the camera is being cropped to account for black borders created by barrel distortion.

Returns
Distortion crop value.

◆ Distort()

static math::Vector2d Distort ( const math::Vector2d _in,
const math::Vector2d _center,
double  _k1,
double  _k2,
double  _k3,
double  _p1,
double  _p2 
)
static

Apply distortion model.

Parameters
[in]_inInput uv coordinate.
[in]_centerNormalized distortion center.
[in]_k1Radial distortion coefficient k1.
[in]_k2Radial distortion coefficient k2.
[in]_k3Radial distortion coefficient k3.
[in]_p1Tangential distortion coefficient p1.
[in]_p2Tangential distortion coefficient p2.
Returns
Distorted coordinate.

◆ DistortionMapValueClamped()

ignition::math::Vector2d DistortionMapValueClamped ( const int  x,
const int  y 
) const
protected

get the distortion map value.

Returns
the distortion map value at the specified index, or (-1, -1) if the index is out of bounds.

◆ GetCenter()

math::Vector2d GetCenter ( ) const

Get the distortion center.

Returns
Distortion center.

◆ GetK1()

double GetK1 ( ) const

Get the radial distortion coefficient k1.

Returns
Distortion coefficient k1.

◆ GetK2()

double GetK2 ( ) const

Get the radial distortion coefficient k2.

Returns
Distortion coefficient k2.

◆ GetK3()

double GetK3 ( ) const

Get the radial distortion coefficient k3.

Returns
Distortion coefficient k3.

◆ GetP1()

double GetP1 ( ) const

Get the tangential distortion coefficient p1.

Returns
Distortion coefficient p1.

◆ GetP2()

double GetP2 ( ) const

Get the tangential distortion coefficient p2.

Returns
Distortion coefficient p2.

◆ Load()

virtual void Load ( sdf::ElementPtr  _sdf)
virtual

Load the camera with a set of parmeters.

Parameters
[in]_sdfThe SDF camera info

◆ SetCamera()

void SetCamera ( CameraPtr  _camera)

Set the camera which distortion will be applied to.

Parameters
[in]_cameraCamera to be distorted

◆ SetCrop()

void SetCrop ( bool  _crop)

Set whether to crop the black border around the distorted image points.

Parameters
[in]_cropTrue to crop the black border

Member Data Documentation

◆ sdf

sdf::ElementPtr sdf
protected

Distortion SDF values.


The documentation for this class was generated from the following file: