LTI-Lib latest version v1.9 - last update 10 Apr 2010

lti::grayWorldNormalization Class Reference
[Color Analysis]

Performs a color normalization on an lti::image using a gray world approach, in order to eliminate effects of illumination colour. More...

#include <ltiGrayWorldNormalization.h>

Inheritance diagram for lti::grayWorldNormalization:
Inheritance graph
[legend]
Collaboration diagram for lti::grayWorldNormalization:
Collaboration graph
[legend]

List of all members.

Classes

class  parameters
 The parameters for the class grayWorldNormalization. More...

Public Member Functions

 grayWorldNormalization ()
 grayWorldNormalization (const parameters &par)
 grayWorldNormalization (const grayWorldNormalization &other)
virtual ~grayWorldNormalization ()
virtual const char * getTypeName () const
bool apply (image &srcdest) const
bool apply (const image &src, image &dest) const
bool apply (const channel &srcR, const channel &srcG, const channel &srcB, image &dest) const
bool apply (const image &src, channel &chR, channel &chG, channel &chB) const
bool apply (const channel &srcR, const channel &srcG, const channel &srcB, channel &chR, channel &chG, channel &chB) const
bool apply (channel &srcdestR, channel &srcdestG, channel &srcdestB) const
grayWorldNormalizationcopy (const grayWorldNormalization &other)
virtual functorclone () const
const parametersgetParameters () const

Detailed Description

Performs a color normalization on an lti::image using a gray world approach, in order to eliminate effects of illumination colour.

Gray world methods and white world methods assume that some low order statistics on the colors of a real world scene lie on the gray line of a color space. The most simple approach uses only the mean color and maps it linearly into one specific point on the gray line, assuming that a diagonal transform (a simple channel scaling) is valid.

Normalization is done under the assumptiomn of mondrian worlds, constant point light sources and delta function camera sensors.

For each color channel $c\in{r,g,b}$, the normalization will be

\[ c_n \rightarrow \frac{c} {(1-\gamma) + \gamma(\nu \cdot c_\mu + \kappa \cdot c_\sigma)} *\]

With:

Initial theory: Diploma Thesis, Dipl.-Ing. Jose Pablo Alvarado Moya, 1998 Dept. of Technical Computer Science, RWTH Aachen, Germany.


Constructor & Destructor Documentation

lti::grayWorldNormalization::grayWorldNormalization (  ) 

default constructor

lti::grayWorldNormalization::grayWorldNormalization ( const parameters par  ) 

default constructor

lti::grayWorldNormalization::grayWorldNormalization ( const grayWorldNormalization other  ) 

copy constructor

Parameters:
other the object to be copied
virtual lti::grayWorldNormalization::~grayWorldNormalization (  )  [virtual]

destructor


Member Function Documentation

bool lti::grayWorldNormalization::apply ( channel srcdestR,
channel srcdestG,
channel srcdestB 
) const

operates on the given parameter.

Parameters:
srcdestR red channel of the source and destination.
srcdestG green channel of the source and destination.
srcdestB blue channel of the source and destination.
Returns:
true if successful, false otherwise.
bool lti::grayWorldNormalization::apply ( const channel srcR,
const channel srcG,
const channel srcB,
channel chR,
channel chG,
channel chB 
) const

operates on a copy of the given parameters.

Parameters:
srcR red channel of the source data
srcG green channel of the source data
srcB blue channel of the source data
chR red component of the normalized input image.
chG green component of the normalized input image.
chB blue component of the normalized input image.
Returns:
true if successful, false otherwise.
bool lti::grayWorldNormalization::apply ( const image src,
channel chR,
channel chG,
channel chB 
) const

operates on a copy of the given parameters.

Parameters:
src image with the source data.
chR red component of the normalized input image.
chG green component of the normalized input image.
chB blue component of the normalized input image.
Returns:
true if successful, false otherwise.
bool lti::grayWorldNormalization::apply ( const channel srcR,
const channel srcG,
const channel srcB,
image dest 
) const

operates on a copy of the given parameters.

Parameters:
srcR red channel of the source data
srcG green channel of the source data
srcB blue channel of the source data
dest image where the result will be left.
Returns:
true if successful, false otherwise.
bool lti::grayWorldNormalization::apply ( const image src,
image dest 
) const [virtual]

operates on a copy of the given parameters.

Parameters:
src image with the source data.
dest image where the result will be left.
Returns:
true if successful, false otherwise.

Implements lti::colorNormalizationBase.

bool lti::grayWorldNormalization::apply ( image srcdest  )  const [virtual]

operates on the given parameter.

Parameters:
srcdest image with the source data. The result will be left here too.
Returns:
true if successful, false otherwise.

Implements lti::colorNormalizationBase.

virtual functor* lti::grayWorldNormalization::clone (  )  const [virtual]

returns a pointer to a clone of this functor.

Implements lti::colorNormalizationBase.

grayWorldNormalization& lti::grayWorldNormalization::copy ( const grayWorldNormalization other  ) 

copy data of "other" functor.

Parameters:
other the functor to be copied
Returns:
a reference to this functor object

Reimplemented from lti::colorNormalizationBase.

const parameters& lti::grayWorldNormalization::getParameters (  )  const

returns used parameters

Reimplemented from lti::colorNormalizationBase.

virtual const char* lti::grayWorldNormalization::getTypeName (  )  const [virtual]

returns the name of this type ("grayWorldNormalization")

Reimplemented from lti::colorNormalizationBase.


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

Generated on Sat Apr 10 15:27:23 2010 for LTI-Lib by Doxygen 1.6.1