[ VIGRA Homepage | Function Index | Class Index | Namespaces | File List | Main Page ]
|   | RGBPrime2YPrimePbPrFunctor< T > Class Template Reference |  | 
Convert non-linear (gamma corrected) R'G'B' into Y'PbPr color difference components. 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 | |
| template<class V > | |
| result_type | operator() (V const &rgb) const | 
| RGBPrime2YPrimePbPrFunctor () | |
| RGBPrime2YPrimePbPrFunctor (component_type max) | |
Convert non-linear (gamma corrected) R'G'B' into Y'PbPr color difference components.
#include <vigra/colorconversions.hxx>
 Namespace: vigra
According to ITU-R Recommendation BT.601, the functor realizes the transformation
![\[ \begin{array}{rcl} Y' & = & 0.299\enspace R / R_{max} + 0.587\enspace G / G_{max} + 0.114\enspace B / B_{max}\\ Pb & = & -0.1687358916\enspace R / R_{max} + 0.3312641084\enspace G / G_{max} + 0.5\enspace B / B_{max} \\ Pr & = & 0.5\enspace R / R_{max} + 0.4186875892\enspace G / G_{max} + 0.0813124108\enspace B / B_{max} \end{array} \]](form_35.png) 
By default,  . This default can be overridden in the constructor. Y' represents the luminance ("brightness") of the color, and Pb and Pr are the blue (B'-Y') and red (R'-Y') color difference components. The transformation is scaled so that the following bounds apply:
. This default can be overridden in the constructor. Y' represents the luminance ("brightness") of the color, and Pb and Pr are the blue (B'-Y') and red (R'-Y') color difference components. The transformation is scaled so that the following bounds apply:
![\[ \begin{array}{rcl} 0 \leq & Y' & \leq 1 \\ -0.5 \leq & Pb & \leq 0.5 \\ -0.5 \leq & Pr & \leq 0.5 \end{array} \]](form_36.png) 
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 | 
default constructor. The maximum value for each RGB component defaults to 255.
constructor
| result_type operator() | ( | V const & | rgb | ) | const | 
apply the transformation
| 
© Ullrich Köthe     (ullrich.koethe@iwr.uni-heidelberg.de)  | 
html generated using doxygen and Python
 |