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

sRGB2RGBFunctor< From, To > Class Template Reference
[Color Space Conversions]

Convert standardized sRGB into non-linear (raw) RGB. More...

#include <vigra/colorconversions.hxx>

List of all members.

Public Types

typedef TinyVector< From, 3 > argument_type
typedef NumericTraits< To >
::RealPromote 
component_type
typedef RGBValue< To > result_type
typedef RGBValue< To > value_type

Public Member Functions

result_type operator() (argument_type const &rgb) const
 sRGB2RGBFunctor (component_type max)
 sRGB2RGBFunctor ()

Detailed Description

template<class From, class To = From>
class vigra::sRGB2RGBFunctor< From, To >

Convert standardized sRGB into non-linear (raw) RGB.

#include <vigra/colorconversions.hxx>
Namespace: vigra

The sRGB color space is a slight improvement over the R'G'B' space. Is is now a widely accepted international standard (IEC 61966-2.1) which is used by most consumer products (digital cameras, printers, and screens). The functor realizes the transformation

\[ C_{RGB} = \left\{\begin{array}{ll} C_{sRGB} / 12.92 & \textrm{if }\frac{C_{sRGB}}{C_{max}} \le 0.03928 \\ C_{max}\left( \frac{C_{sRGB}/C_{max}+0.055}{1.055}\right)^{2.4} & \textrm{otherwise} \end{array}\right. \]

where C is one of the color channels R, G, or B, and $ C_{max}$ equals 255 by default (This default can be overridden in the constructor). If both source and target color components are stored as unsigned char, a look-up-table will be used to speed up the transformation.

Traits defined:

FunctorTraits::isUnaryFunctor is true (VigraTrueType)


Member Typedef Documentation

typedef TinyVector<From, 3> argument_type

the functor's argument type

typedef RGBValue<To> result_type

the functor's result type

typedef RGBValue<To> value_type
Deprecated:
use argument_type and result_type
typedef NumericTraits<To>::RealPromote component_type

the result component's promote type


Constructor & Destructor Documentation

sRGB2RGBFunctor (  ) 

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() ( argument_type 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.6.0 (5 Nov 2009)