[ VIGRA Homepage | Function Index | Class Index | Namespaces | File List | Main Page ]
Convert non-linear (gamma corrected) R'G'B' into Y'UV 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 |
| RGBPrime2YPrimeUVFunctor () | |
| RGBPrime2YPrimeUVFunctor (component_type max) | |
Convert non-linear (gamma corrected) R'G'B' into Y'UV components.
#include <vigra/colorconversions.hxx>
Namespace: vigra
According to the NTSC 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}\\
U & = & -0.147\enspace R / R_{max} - 0.289\enspace G / G_{max} + 0.436\enspace B / B_{max} \\
V & = & 0.615\enspace R / R_{max} - 0.515\enspace G / G_{max} - 0.100\enspace B / B_{max}
\end{array}
\]](form_52.png)
By default, 
![\[ \begin{array}{rcl}
0 \leq & Y' & \leq 1 \\
-0.436 \leq & U & \leq 0.436 \\
-0.615 \leq & V & \leq 0.615
\end{array}
\]](form_53.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 |
| RGBPrime2YPrimeUVFunctor | ( | ) |
default constructor. The maximum value for each RGB component defaults to 255.
| RGBPrime2YPrimeUVFunctor | ( | component_type | max | ) |
constructor
apply the transformation
|
© Ullrich Köthe (ullrich.koethe@iwr.uni-heidelberg.de) |