[ VIGRA Homepage | Function Index | Class Index | Namespaces | File List | Main Page ]

details RGBPrime2YPrimePbPrFunctor< T > Class Template Reference VIGRA

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)
 

Detailed Description

template<class T>
class vigra::RGBPrime2YPrimePbPrFunctor< T >

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} \]

By default, $ R_{max} = G_{max} = B_{max} = 255 $. 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} \]

Traits defined:

FunctorTraits::isUnaryFunctor is true (VigraTrueType)

Member Typedef Documentation

typedef NumericTraits<T>::RealPromote component_type

the result's component type

typedef TinyVector<T, 3> argument_type

the functor's argument type

the functor's result type

Deprecated:
use argument_type and result_type

Constructor & Destructor Documentation

default constructor. The maximum value for each RGB component defaults to 255.

constructor

  • max - the maximum value for each RGB component

Member Function Documentation

result_type operator() ( V const &  rgb) const

apply the transformation


The documentation for this class was generated from the following file:

© Ullrich Köthe (ullrich.koethe@iwr.uni-heidelberg.de)
Heidelberg Collaboratory for Image Processing, University of Heidelberg, Germany

html generated using doxygen and Python
vigra 1.11.1 (Fri May 19 2017)