last update 20 Sep 2009 |
#include <cvrSplitImageToHSI.h>
The HSI color space is obtained by a rotation of the RGB color cube in a way that the gray-value axis is oriented with the intensity (I) axis, the hue (H) is the angle and the saturation (S) the distance from the I axis.
The transformation as defined by
Gonzalez and Woods. "Digital Image Processing". Addison Wesley. 1992
is obtained with
For the backtransformation see cvr::mergeHSIToImage
cvr::splitImageToHSI::splitImageToHSI | ( | ) |
Constructor.
cvr::splitImageToHSI::splitImageToHSI | ( | const splitImageToHSI & | other | ) |
Copy Constructor.
virtual cvr::splitImageToHSI::~splitImageToHSI | ( | ) | [virtual] |
Destructor.
virtual bool cvr::splitImageToHSI::apply | ( | const rgbaPixel & | pixel, | |
ubyte & | H, | |||
ubyte & | S, | |||
ubyte & | I | |||
) | const [virtual] |
split the pixel in hue value H, saturation S and intensity value I.
The values of each pixel will be between 0 and 255
pixel | the pixel to be splitted | |
H | the hue value | |
S | the saturation value | |
I | the intensity value |
Implements cvr::splitImage.
virtual bool cvr::splitImageToHSI::apply | ( | const rgbaPixel & | pixel, | |
float & | H, | |||
float & | S, | |||
float & | I | |||
) | const [virtual] |
split the pixel in hue value H, saturation S and intensity value I.
The values of each pixel will be between 0.0f and 1.0f
pixel | the pixel to be splitted | |
H | the hue value | |
S | the saturation value | |
I | the intensity value |
Implements cvr::splitImage.
virtual bool cvr::splitImageToHSI::apply | ( | const matrix< image::value_type > & | img, | |
matrix< channel8::value_type > & | H, | |||
matrix< channel8::value_type > & | S, | |||
matrix< channel8::value_type > & | I | |||
) | const [virtual] |
virtual bool cvr::splitImageToHSI::apply | ( | const matrix< image::value_type > & | img, | |
matrix< channel::value_type > & | H, | |||
matrix< channel::value_type > & | S, | |||
matrix< channel::value_type > & | I | |||
) | const [virtual] |
virtual splitImageToHSI* cvr::splitImageToHSI::clone | ( | ) | const [virtual] |
splitImageToHSI& cvr::splitImageToHSI::copy | ( | const splitImageToHSI & | other | ) |
virtual bool cvr::splitImageToHSI::extractFirst | ( | const matrix< image::value_type > & | img, | |
matrix< channel8::value_type > & | c1 | |||
) | const [virtual] |
virtual bool cvr::splitImageToHSI::extractFirst | ( | const matrix< image::value_type > & | img, | |
matrix< channel::value_type > & | c1 | |||
) | const [virtual] |
bool cvr::splitImageToHSI::extractHue | ( | const matrix< image::value_type > & | img, | |
matrix< channel8::value_type > & | hue | |||
) | const |
return the hue of the image.
If you need also the saturation and the intensity please use the apply methods, which are much faster!
bool cvr::splitImageToHSI::extractHue | ( | const matrix< image::value_type > & | img, | |
matrix< channel::value_type > & | hue | |||
) | const |
return the hue of the image.
If you need also the saturation and the intensity please use the apply methods, which are much faster!
bool cvr::splitImageToHSI::extractIntensity | ( | const matrix< image::value_type > & | img, | |
matrix< channel8::value_type > & | intensity | |||
) | const |
return the intensity of the image.
If you need also the hue and the intensity please use the apply methods, which are much faster!
bool cvr::splitImageToHSI::extractIntensity | ( | const matrix< image::value_type > & | img, | |
matrix< channel::value_type > & | intensity | |||
) | const |
return the intensity of the image.
If you need also the hue and the intensity please use the apply methods, which are much faster!
bool cvr::splitImageToHSI::extractSaturation | ( | const matrix< image::value_type > & | img, | |
matrix< channel8::value_type > & | saturation | |||
) | const |
return the saturation of the image.
If you need also the hue and the saturation please use the apply methods, which are much faster!
bool cvr::splitImageToHSI::extractSaturation | ( | const matrix< image::value_type > & | img, | |
matrix< channel::value_type > & | saturation | |||
) | const |
return the saturation of the image.
If you need also the hue and the intensity please use the apply methods, which are much faster!
virtual bool cvr::splitImageToHSI::extractSecond | ( | const matrix< image::value_type > & | img, | |
matrix< channel8::value_type > & | c2 | |||
) | const [virtual] |
virtual bool cvr::splitImageToHSI::extractSecond | ( | const matrix< image::value_type > & | img, | |
matrix< channel::value_type > & | c2 | |||
) | const [virtual] |
virtual bool cvr::splitImageToHSI::extractThird | ( | const matrix< image::value_type > & | img, | |
matrix< channel8::value_type > & | c3 | |||
) | const [virtual] |
virtual bool cvr::splitImageToHSI::extractThird | ( | const matrix< image::value_type > & | img, | |
matrix< channel::value_type > & | c3 | |||
) | const [virtual] |
virtual const std::string& cvr::splitImageToHSI::name | ( | ) | const [virtual] |
virtual splitImageToHSI* cvr::splitImageToHSI::newInstance | ( | ) | const [virtual] |
splitImageToHSI& cvr::splitImageToHSI::operator= | ( | const splitImageToHSI & | other | ) |