latest version v1.9 - last update 10 Apr 2010 |
Split image in its c1, c2 and c3 components, as described in T. More...
#include <ltiSplitImageToGSC.h>
Public Member Functions | |
virtual const char * | getTypeName () const |
virtual functor * | clone () const |
virtual bool | apply (const image &img, channel &c1, channel &c2, channel &c3) const |
virtual bool | apply (const image &img, channel8 &c1, channel8 &c2, channel8 &c3) const |
virtual bool | apply (const rgbPixel &pixel, float &c1, float &c2, float &c3) const |
virtual bool | apply (const rgbPixel &pixel, ubyte &c1, ubyte &c2, ubyte &c3) const |
virtual bool | getFirst (const image &img, channel &c1) const |
virtual bool | getFirst (const image &img, channel8 &c1) const |
virtual bool | getSecond (const image &img, channel &c2) const |
virtual bool | getSecond (const image &img, channel8 &c2) const |
virtual bool | getThird (const image &img, channel &c3) const |
virtual bool | getThird (const image &img, channel8 &c3) const |
Protected Attributes | |
arctanLUT | atan2 |
Split image in its c1, c2 and c3 components, as described in T.
Gevers and A. Smeulders "Color-based object recognition" Pattern Recognition, Vol. 32, 1999, pp. 453-464.
This color space is appropriate when trying to detect only highlight or material changes, but ignoring shadow or shape edges.
The channels are defined as follows:
They denote the angles of the body reflection vector and are invariant for matte, dull objects.
Please note the slightly difference with the original paper definition: all channels are normalized in order to get values between 0 and 1.
There is no merge functor for this split method.
virtual bool lti::splitImageToGSC::apply | ( | const rgbPixel & | pixel, | |
ubyte & | c1, | |||
ubyte & | c2, | |||
ubyte & | c3 | |||
) | const [virtual] |
split the pixel in red green and blue values.
The values of each pixel will be between 0 and 255
Implements lti::splitImage.
virtual bool lti::splitImageToGSC::apply | ( | const rgbPixel & | pixel, | |
float & | c1, | |||
float & | c2, | |||
float & | c3 | |||
) | const [virtual] |
split the pixel in red green and blue values.
The values of each pixel will be between 0.0f and 1.0f
Implements lti::splitImage.
virtual functor* lti::splitImageToGSC::clone | ( | ) | const [virtual] |
returns a pointer to a clone of the functor.
Implements lti::functor.
virtual const char* lti::splitImageToGSC::getTypeName | ( | ) | const [virtual] |
returns the name of this type
Reimplemented from lti::splitImage.
arctanLUT lti::splitImageToGSC::atan2 [protected] |
arctan LUT