[ VIGRA Homepage | Function Index | Class Index | Namespaces | File List | Main Page ]
Convert linear (raw) RGB into standardized sRGB. More...
#include <vigra/colorconversions.hxx>
Public Types | |
| typedef TinyVector< From, 3 > | argument_type |
| typedef NumericTraits< To >::RealPromote | component_type |
| typedef TinyVector< To, 3 > | result_type |
| typedef TinyVector< To, 3 > | value_type |
Public Member Functions | |
| template<class V> | |
| result_type | operator() (V const &rgb) const |
| RGB2sRGBFunctor () | |
| RGB2sRGBFunctor (component_type max) | |
Convert linear (raw) RGB into standardized sRGB.
#include <vigra/colorconversions.hxx>
Namespace: vigra
The sRGB color space is a slight improvement over the R'G'B' space. It 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_{sRGB} = \left\{ \begin{array}{ll}
12.92\,C_{RGB} & \textrm{ if }\frac{C_{RGB}}{C_{max}} \le 0.0031308 \\
C_{max}\left( 1.055 \left(\frac{C_{RGB}}{C_{max}}\right)^{1/2.4}-0.055\right) & \textrm{ otherwise}
\end{array} \right.
\]](form_23.png)
where C is any of the primaries R, G, and B. By default, 
Traits defined:
FunctorTraits::isUnaryFunctor is true (VigraTrueType)
| typedef TinyVector<From, 3> argument_type |
the functor's argument type
| typedef TinyVector<To, 3> result_type |
the functor's result type
| typedef TinyVector<To, 3> value_type |
| typedef NumericTraits<To>::RealPromote component_type |
the result component's promote type
| RGB2sRGBFunctor | ( | ) |
Default constructor. The maximum value for each RGB component defaults to 255
| RGB2sRGBFunctor | ( | component_type | max | ) |
constructor
| result_type operator() | ( | V const & | rgb | ) | const |
apply the transformation
|
© Ullrich Köthe (ullrich.koethe@iwr.uni-heidelberg.de) |