[ VIGRA Homepage | Function Index | Class Index | Namespaces | File List | Main Page ]
Convert linear (raw) RGB into standardized tri-stimulus XYZ. More...
#include <vigra/colorconversions.hxx>
Public Types | |
| typedef TinyVector< T, 3 > | argument_type |
| typedef NumericTraits< T >::RealPromote | component_type |
| typedef TinyVector< component_type, 3 > | result_type |
| typedef TinyVector< component_type, 3 > | value_type |
Public Member Functions | |
| result_type | operator() (argument_type const &rgb) const |
| RGB2XYZFunctor () | |
| RGB2XYZFunctor (component_type max) | |
Convert linear (raw) RGB into standardized tri-stimulus XYZ.
#include <vigra/colorconversions.hxx>
Namespace: vigra
According to ITU-R Recommendation BT.709, the functor realizes the transformation
![\[ \begin{array}{rcl}
X & = & 0.412453\enspace R / R_{max} + 0.357580\enspace G / G_{max} + 0.180423\enspace B / B_{max}\\
Y & = & 0.212671\enspace R / R_{max} + 0.715160\enspace G / G_{max} + 0.072169\enspace B / B_{max} \\
Z & = & 0.019334\enspace R / R_{max} + 0.119193\enspace G / G_{max} + 0.950227\enspace B / B_{max}
\end{array}
\]](form_28.png)
By default, 
Traits defined:
FunctorTraits::isUnaryFunctor is true (VigraTrueType)
| typedef NumericTraits<T>::RealPromote component_type |
the result's component type
| typedef TinyVector<T, 3> argument_type |
the functor's argument type
| typedef TinyVector<component_type, 3> result_type |
the functor's result type
| typedef TinyVector<component_type, 3> value_type |
| RGB2XYZFunctor | ( | ) |
default constructor. The maximum value for each RGB component defaults to 255.
| RGB2XYZFunctor | ( | component_type | max | ) |
constructor
| result_type operator() | ( | argument_type const & | rgb | ) | const |
apply the transformation
|
© Ullrich Köthe (ullrich.koethe@iwr.uni-heidelberg.de) |