AliceVision
Photogrammetric Computer Vision Framework
Public Member Functions | Protected Attributes | List of all members
aliceVision::camera::Undistortion Class Referenceabstract

Abstract class to represent the inverse operation of a distortion model. More...

#include <Undistortion.hpp>

Inheritance diagram for aliceVision::camera::Undistortion:
aliceVision::camera::Undistortion3DEAnamorphic4 aliceVision::camera::Undistortion3DEClassicLD aliceVision::camera::Undistortion3DERadial4 aliceVision::camera::UndistortionRadialK3

Public Member Functions

 Undistortion (int width, int height)
 
virtual EUNDISTORTION getType () const =0
 
virtual Undistortionclone () const =0
 
bool operator== (const Undistortion &other) const
 
void setDesqueezed (bool isDesqueezed)
 
bool isDesqueezed () const
 
bool isLocked () const
 
void setLocked (bool lock)
 
void setOffset (const Vec2 &offset)
 
void setSize (int width, int height)
 
void setDiagonal (double diagonal)
 
void setPixelAspectRatio (double pixelAspectRatio)
 
Vec2 getOffset () const
 
Vec2 getScaledOffset () const
 
Vec2 getSize () const
 
Vec2 getCenter () const
 
double getDiagonal () const
 
double getPixelAspectRatio () const
 
const std::vector< double > & getParameters () const
 
void setParameters (const std::vector< double > &params)
 
std::size_t getUndistortionParametersCount () const
 
Vec2 undistort (const Vec2 &p) const
 
Eigen::Matrix< double, 2, Eigen::Dynamic > getDerivativeUndistortWrtParameters (const Vec2 &p)
 
Eigen::Matrix< double, 2, 2 > getDerivativeUndistortWrtOffset (const Vec2 &p)
 
Vec2 inverse (const Vec2 &p) const
 add distortion (return p' such that undisto(p') = p)
 
virtual Vec2 inverseNormalized (const Vec2 &p) const =0
 
virtual Vec2 undistortNormalized (const Vec2 &p) const =0
 
virtual Eigen::Matrix< double, 2, Eigen::Dynamic > getDerivativeUndistortNormalizedwrtParameters (const Vec2 &p) const =0
 
virtual Eigen::Matrix< double, 2, 2 > getDerivativeUndistortNormalizedwrtPoint (const Vec2 &p) const =0
 

Protected Attributes

Vec2 _size
 
Vec2 _center
 
Vec2 _offset
 
double _diagonal
 
double _pixelAspectRatio
 
bool _isDesqueezed
 
std::vector< double > _undistortionParams {}
 
bool _isLocked
 

Detailed Description

Abstract class to represent the inverse operation of a distortion model.

Contrary to distortion models, the undistortion process is a pixel-to-pixel operation and thus it does not depend on the camera's focal length.

Its main purpose is to undistort images before they are used in other calculations so that we can virtually "remove" distortion parameters from the camera.


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