latest version v1.9 - last update 10 Apr 2010 |
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>
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 |
grayWorldNormalization & | copy (const grayWorldNormalization &other) |
virtual functor * | clone () const |
const parameters & | getParameters () const |
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 , the normalization will be
With:
Initial theory: Diploma Thesis, Dipl.-Ing. Jose Pablo Alvarado Moya, 1998 Dept. of Technical Computer Science, RWTH Aachen, Germany.
lti::grayWorldNormalization::grayWorldNormalization | ( | ) |
default constructor
lti::grayWorldNormalization::grayWorldNormalization | ( | const parameters & | par | ) |
default constructor
lti::grayWorldNormalization::grayWorldNormalization | ( | const grayWorldNormalization & | other | ) |
copy constructor
other | the object to be copied |
virtual lti::grayWorldNormalization::~grayWorldNormalization | ( | ) | [virtual] |
destructor
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.
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. |
operates on a copy of the given parameters.
Implements lti::colorNormalizationBase.
bool lti::grayWorldNormalization::apply | ( | image & | srcdest | ) | const [virtual] |
operates on the given parameter.
srcdest | image with the source data. The result will be left here too. |
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.
other | the functor to be copied |
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.