[ VIGRA Homepage | Function Index | Class Index | Namespaces | File List | Main Page ]
Convert non-linear (gamma corrected) R'G'B' into Y'IQ 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 |
| RGBPrime2YPrimeIQFunctor () | |
| RGBPrime2YPrimeIQFunctor (component_type max) | |
Convert non-linear (gamma corrected) R'G'B' into Y'IQ components.
#include <vigra/colorconversions.hxx>
Namespace: vigra
According to the PAL analog video standard, 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}\\
I & = & 0.596\enspace R / R_{max} - 0.274\enspace G / G_{max} - 0.322\enspace B / B_{max} \\
Q & = & 0.212\enspace R / R_{max} - 0.523\enspace G / G_{max} + 0.311\enspace B / B_{max}
\end{array}
\]](form_50.png)
By default, 
![\[ \begin{array}{rcl}
0 \leq & Y' & \leq 1 \\
-0.596 \leq & I & \leq 0.596 \\
-0.523 \leq & Q & \leq 0.523
\end{array}
\]](form_51.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 |
| RGBPrime2YPrimeIQFunctor | ( | ) |
default constructor. The maximum value for each RGB component defaults to 255.
| RGBPrime2YPrimeIQFunctor | ( | component_type | max | ) |
constructor
apply the transformation
|
© Ullrich Köthe (ullrich.koethe@iwr.uni-heidelberg.de) |