Basic Image AlgorithmS Library  2.8.0
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
Public Member Functions | Private Member Functions | Private Attributes | List of all members
BIAS::UnVignette Class Reference

Unvignette algorithm for images. More...

#include <Image/UnVignette.hh>

+ Collaboration diagram for BIAS::UnVignette:

Public Member Functions

void Compute (BIAS::Image< unsigned char > &Image)
 
int Init (const std::vector< double > ControlPoints, std::vector< double > PercentageValues, unsigned int dImageWidth, unsigned int dImageHeight, int dPPX, int dPPY, INTERPOLATION_METHOD method=LEAST_SQUARES, bool bUseLuT=true)
 Init the Unvignette algorithm give ControlPoints in image as offset from Principal Point in pixel give percentage values in second vector vectors have to be of same size. More...
 
int Init (BIAS::CameraParam cParam, INTERPOLATION_METHOD method=LEAST_SQUARES, bool bUseLuT=true)
 Init the Unvignette algorithm with CameraParam object CameraParameter objcect has to contain ControlPoints and PercentageValues vectors have to be of same size. More...
 
bool IsInitialized ()
 
 UnVignette ()
 
 UnVignette (CameraParam &cParam, INTERPOLATION_METHOD method=LEAST_SQUARES, bool bUseLuT=true)
 
 ~UnVignette ()
 

Private Member Functions

double CalcRadius_ (double x, double y)
 
int Init_ ()
 
int LeastSquares_ (double &res, double radius)
 
int PrepareLeastSquaresMin_ ()
 
int PrepareLuImage_ ()
 

Private Attributes

BIAS::Matrix< double > A_
 
bool bIsInitialized_
 
bool bLeastSquaresPrepared_
 
bool bUseLuT_
 
std::vector< double > ControlPoints_
 
unsigned int dChannelCount_
 
unsigned int dHeight_
 
double dHeightHalfMPPY_
 
INTERPOLATION_METHOD dInterPolationMethod_
 
unsigned int dWidth_
 
double dWidthHalfMPPX_
 
std::vector< int > IlluCorrX_
 
std::vector< double > IlluCorrY_
 
BIAS::Interpolator InterpolatorIllu_
 
BIAS::Image< float > LuImage_
 
std::vector< double > PercentageValues_
 
double PrinciplePointX_
 
double PrinciplePointY_
 
BIAS::Vector< double > X_
 
BIAS::Vector< double > Y_
 

Detailed Description

Unvignette algorithm for images.

Measure the vignetting of images and correct the vignetting of images

Author
ischiller
Date
02/2006

Definition at line 61 of file UnVignette.hh.

Constructor & Destructor Documentation

UnVignette::UnVignette ( )

Definition at line 37 of file UnVignette.cpp.

UnVignette::UnVignette ( CameraParam cParam,
INTERPOLATION_METHOD  method = LEAST_SQUARES,
bool  bUseLuT = true 
)
UnVignette::~UnVignette ( )

Definition at line 69 of file UnVignette.cpp.

Member Function Documentation

double UnVignette::CalcRadius_ ( double  x,
double  y 
)
private

Definition at line 177 of file UnVignette.cpp.

void UnVignette::Compute ( BIAS::Image< unsigned char > &  Image)
int UnVignette::Init ( const std::vector< double >  ControlPoints,
std::vector< double >  PercentageValues,
unsigned int  dImageWidth,
unsigned int  dImageHeight,
int  dPPX,
int  dPPY,
INTERPOLATION_METHOD  method = LEAST_SQUARES,
bool  bUseLuT = true 
)

Init the Unvignette algorithm give ControlPoints in image as offset from Principal Point in pixel give percentage values in second vector vectors have to be of same size.

Author
ischiller
Date
02/06

Definition at line 113 of file UnVignette.cpp.

int UnVignette::Init ( BIAS::CameraParam  cParam,
INTERPOLATION_METHOD  method = LEAST_SQUARES,
bool  bUseLuT = true 
)

Init the Unvignette algorithm with CameraParam object CameraParameter objcect has to contain ControlPoints and PercentageValues vectors have to be of same size.

Author
ischiller
Date
02/06

Definition at line 129 of file UnVignette.cpp.

References BIAS::CameraParam::GetHeight(), BIAS::CameraParam::GetIlluCorrX(), BIAS::CameraParam::GetIlluCorrY(), BIAS::CameraParam::GetPrincipalX(), BIAS::CameraParam::GetPrincipalY(), and BIAS::CameraParam::GetWidth().

int UnVignette::Init_ ( )
private

Definition at line 142 of file UnVignette.cpp.

bool BIAS::UnVignette::IsInitialized ( )
inline

Definition at line 69 of file UnVignette.hh.

int UnVignette::LeastSquares_ ( double &  res,
double  radius 
)
private

Definition at line 256 of file UnVignette.cpp.

int UnVignette::PrepareLeastSquaresMin_ ( )
private

Definition at line 225 of file UnVignette.cpp.

References BIAS::SVD::Solve().

int UnVignette::PrepareLuImage_ ( )
private

Definition at line 185 of file UnVignette.cpp.

Member Data Documentation

BIAS::Matrix<double> BIAS::UnVignette::A_
private

Definition at line 105 of file UnVignette.hh.

bool BIAS::UnVignette::bIsInitialized_
private

Definition at line 124 of file UnVignette.hh.

bool BIAS::UnVignette::bLeastSquaresPrepared_
private

Definition at line 109 of file UnVignette.hh.

bool BIAS::UnVignette::bUseLuT_
private

Definition at line 116 of file UnVignette.hh.

std::vector<double> BIAS::UnVignette::ControlPoints_
private

Definition at line 102 of file UnVignette.hh.

unsigned int BIAS::UnVignette::dChannelCount_
private

Definition at line 122 of file UnVignette.hh.

unsigned int BIAS::UnVignette::dHeight_
private

Definition at line 121 of file UnVignette.hh.

double BIAS::UnVignette::dHeightHalfMPPY_
private

Definition at line 113 of file UnVignette.hh.

INTERPOLATION_METHOD BIAS::UnVignette::dInterPolationMethod_
private

Definition at line 95 of file UnVignette.hh.

unsigned int BIAS::UnVignette::dWidth_
private

Definition at line 120 of file UnVignette.hh.

double BIAS::UnVignette::dWidthHalfMPPX_
private

Definition at line 112 of file UnVignette.hh.

std::vector<int> BIAS::UnVignette::IlluCorrX_
private

Definition at line 130 of file UnVignette.hh.

std::vector<double> BIAS::UnVignette::IlluCorrY_
private

Definition at line 131 of file UnVignette.hh.

BIAS::Interpolator BIAS::UnVignette::InterpolatorIllu_
private

Definition at line 125 of file UnVignette.hh.

BIAS::Image<float> BIAS::UnVignette::LuImage_
private

Definition at line 114 of file UnVignette.hh.

std::vector<double> BIAS::UnVignette::PercentageValues_
private

Definition at line 103 of file UnVignette.hh.

double BIAS::UnVignette::PrinciplePointX_
private

Definition at line 118 of file UnVignette.hh.

double BIAS::UnVignette::PrinciplePointY_
private

Definition at line 119 of file UnVignette.hh.

BIAS::Vector<double> BIAS::UnVignette::X_
private

Definition at line 107 of file UnVignette.hh.

BIAS::Vector<double> BIAS::UnVignette::Y_
private

Definition at line 106 of file UnVignette.hh.


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