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

details BrightnessContrastFunctor Class Template Reference VIGRA

Adjust brightness and contrast of an image. More...

#include "vigra/transformimage.hxx"


Public Types

typedef PixelType argument_type
typedef PixelType result_type
typedef PixelType value_type

Public Methods

 BrightnessContrastFunctor (promote_type brightness, promote_type contrast, argument_type const &min, argument_type const &max)
result_type operator() (argument_type const &v) const


Detailed Description


template<class PixelType>
class vigra::BrightnessContrastFunctor< PixelType >

Adjust brightness and contrast of an image.

This functor applies a gamma correction to each pixel in order to modify the brightness of the image. To the result of the gamma correction, another transform is applied that modifies the contrast. The brightness and contrast parameters must be positive. Values greater than 1 will increase image brightness and contrast, values smaller than 1 decrease them. A value = 1 will have no effect. For RGBValue's, the transforms are applied component-wise. The pixel values are assumed to lie between the given minimum and maximum values. In case of RGB, this is again understood component-wise. In case of unsigned char, min and max default to 0 and 255 respectively. Precisely, the following transform is applied to each PixelValue:

If the PixelType is unsigned char, a look-up-table is used for faster computation.

Traits defined:

FunctorTraits::isUnaryFunctor is true (VigraTrueType)

Usage:

#include "vigra/transformimage.hxx"
Namespace: vigra

    vigra::BImage bimage(width, height);
    double brightness, contrast;
    ...
    vigra::transformImage(srcImageRange(bimage), destImage(bimage),
       vigra::BrightnessContrastFunctor<unsigned char>(brightness, contrast));



    vigra::FImage fimage(width, height);
    ...

    vigra::FindMinmax<float> minmax;
    vigra::inspectImage(srcImageRange(fimage), minmax);

    vigra::transformImage(srcImageRange(fimage), destImage(fimage),
       vigra::BrightnessContrastFunctor<float>(brightness, contrast, minmax.min, minmax.max));

Required Interface:

Scalar types: must be a linear algebra (+, - *, NumericTraits), strict weakly ordered (<), and pow() must be defined.

RGB values: the component type must meet the above requirements.


Member Typedef Documentation


typedef PixelType argument_type

 

the functor's argument type


typedef PixelType result_type

 

the functor's result type


typedef PixelType value_type

 

Deprecated:
use argument_type and result_type


Constructor & Destructor Documentation


BrightnessContrastFunctor promote_type    brightness,
promote_type    contrast,
argument_type const &    min,
argument_type const &    max
[inline]

 

Init functor for argument range [min, max]. brightness and contrast values > 1 will increase brightness and contrast, < 1 will decrease them, and == 1 means no change.


Member Function Documentation


result_type operator() argument_type const &    v const [inline]

 

Calculate modified gray or color value


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

© Ullrich Köthe (koethe@informatik.uni-hamburg.de)
Cognitive Systems Group, University of Hamburg, Germany

html generated using doxygen and Python
VIGRA 1.3.2 (27 Jan 2005)