eLynx SDK v3.3.0
C++ image processing API reference
Public Member Functions

eLynx::Image::ImagePointProcessingImpl< Pixel > Class Template Reference

Implementation of point to point image processing interface. More...

#include <ImagePointProcessingImpl.h>

Inheritance diagram for eLynx::Image::ImagePointProcessingImpl< Pixel >:
eLynx::Image::IImagePointProcessing

List of all members.

Public Member Functions

virtual bool AdjustBrightness (AbstractImage &ioImage, double iBrightness, ProgressNotifier &iNotifier=ProgressNotifier_NULL) const
 Change brightness on selected channels, based on the RGB color model.
virtual bool AdjustContrast (AbstractImage &ioImage, double iContrast, ProgressNotifier &iNotifier=ProgressNotifier_NULL) const
 Change contrast on selected channels, based on the RGB color model.
virtual bool AdjustGamma (AbstractImage &ioImage, double iGamma, ProgressNotifier &iNotifier=ProgressNotifier_NULL) const
 Gamma correction on selected channels, based on the RGB color model.
virtual bool AdjustBCG (AbstractImage &ioImage, double iBrightness, double iContrast, double iGamma, ProgressNotifier &iNotifier=ProgressNotifier_NULL) const
 Change brightness + contrast + gamma correction, based on the RGB color model.
virtual bool AdjustMidtone (AbstractImage &ioImage, double iMidtone, uint32 iChannelMask=CM_All, ProgressNotifier &iNotifier=ProgressNotifier_NULL) const
 Midtone correction on selected channels.
virtual bool AdjustSigmoid (AbstractImage &ioImage, double iAlpha, double iBeta, uint32 iChannelMask=CM_All, ProgressNotifier &iNotifier=ProgressNotifier_NULL) const
 Adjust Sigmoid on selected channels.
virtual bool AdjustHueSaturation (AbstractImage &ioImage, double iHue, double iSaturation, ProgressNotifier &iNotifier) const
 Hue and Saturation adjustment, based on the HLS color model.
virtual bool AdjustShadowHighlight (AbstractImage &ioImage, double iShadow, double iHighlight, uint32 iChannelMask, ProgressNotifier &iNotifier) const
 Shadow and highlight adjustment.
virtual bool Balance (AbstractImage &ioImage, double iRed, double iGreen, double iBlue, ProgressNotifier &iNotifier=ProgressNotifier_NULL) const
 The Color Balance allows you to adjust the overall mixture of the colors, based on the RGB color model.
virtual bool Posterize (AbstractImage &ioImage, uint32 iLevels, uint32 iChannelMask=CM_All, ProgressNotifier &iNotifier=ProgressNotifier_NULL) const
 The Posterize effect lets you adjust the number of brightness levels of the image.
virtual bool Solarize (AbstractImage &ioImage, double iThreshold, uint32 iChannelMask=CM_All, ProgressNotifier &iNotifier=ProgressNotifier_NULL) const
 The Solarize effect blends an image by inverting all color data when intensity value is greater than a threshold.
virtual bool Colorize (AbstractImage &ioImage, double iHue, double iSaturation, ProgressNotifier &iNotifier) const
 Colorize an image setting a hue and saturation, based on the HLS color model.
virtual bool Desaturate (AbstractImage &ioImage, double iFactor, uint32 iChannelMask, ProgressNotifier &iNotifier) const
 Adjust the Saturation by a multiplier factor, based on the HLS color model.
virtual bool Blend (AbstractImage &ioImage, const AbstractImage &iImage, double iScalar, uint32 iChannelMask, ProgressNotifier &iNotifier) const
 Blend two images by a scalar in range [0..1].
virtual boost::shared_ptr
< AbstractImage
CreateBinarized (const AbstractImage &iImage, double iThreshold, bool ibNegative, uint32 iChannelMask, ProgressNotifier &iNotifier) const
 Image factory.

Static Public Member Functions

Specialized static services
static bool AdjustBrightness (ImageImpl< Pixel > &ioImage, double iBrightness, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
static bool AdjustContrast (ImageImpl< Pixel > &ioImage, double iContrast, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
static bool AdjustGamma (ImageImpl< Pixel > &ioImage, double iGamma, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
static bool AdjustBCG (ImageImpl< Pixel > &ioImage, double iBrightness, double iContrast, double iGamma, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
static bool AdjustHue (ImageImpl< Pixel > &ioImage, double iHue, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
static bool AdjustSaturation (ImageImpl< Pixel > &ioImage, double iSaturation, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
static bool AdjustHueSaturation (ImageImpl< Pixel > &ioImage, double iHue, double iSaturation, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
static bool AdjustShadowHighlight (ImageImpl< Pixel > &ioImage, double iShadow=0.0, double iHighlight=1.0, uint32 iChannelMask=CM_All, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
static bool AdjustMidtone (ImageImpl< Pixel > &ioImage, double iMidtone, uint32 iChannelMask=CM_All, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
static bool AdjustSigmoid (ImageImpl< Pixel > &ioImage, double iAlpha, double iBeta, uint32 iChannelMask=CM_All, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
static bool Balance (ImageImpl< Pixel > &ioImage, double iChannel0, double iChannel1, double iChannel2, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
static bool Posterize (ImageImpl< Pixel > &ioImage, uint32 iLevels, uint32 iChannelMask=CM_All, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
static bool Solarize (ImageImpl< Pixel > &ioImage, double iThreshold, uint32 iChannelMask=CM_All, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
static bool Colorize (ImageImpl< Pixel > &ioImage, double iHue, double iSaturation, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
static bool Desaturate (ImageImpl< Pixel > &ioImage, double iFactor=0.3, uint32 iChannelMask=CM_All, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
static bool Blend (ImageImpl< Pixel > &ioImage, const ImageImpl< Pixel > &iImage, double iScalar, uint32 iChannelMask=CM_All, ProgressNotifier &iNotifier=ProgressNotifier_NULL)

Detailed Description

template<class Pixel>
class eLynx::Image::ImagePointProcessingImpl< Pixel >

Implementation of point to point image processing interface.

IImagePointProcessing.png

Member Function Documentation

template<class Pixel >
virtual bool eLynx::Image::ImagePointProcessingImpl< Pixel >::AdjustBCG ( AbstractImage ioImage,
double  iBrightness,
double  iContrast,
double  iGamma,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
) const [virtual]

Change brightness + contrast + gamma correction, based on the RGB color model.

Optimizations: multicore, look up table.

Parameters:
ioImageimage to process.
iBrightnessbrightness coefficient in range -1.0, +1.0. 0.0 is neutral value.
iContrastcontrast coefficient in range -1.0, +1.0. 0.0 is neutral value.
iGammagamma value in range 0.001, +4.0. 1.0 is neutral value.
iNotifiera notifier for progression, log and cancel.
Returns:
Method running status.

Implements eLynx::Image::IImagePointProcessing.

template<class Pixel >
virtual bool eLynx::Image::ImagePointProcessingImpl< Pixel >::AdjustBrightness ( AbstractImage ioImage,
double  iBrightness,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
) const [virtual]

Change brightness on selected channels, based on the RGB color model.

Optimizations: multicore, look up table.

color.AdjustBrightnessLess.png

ramps.AdjustBrightnessLess.png

less brightness(-0.3)
color.original.png

ramps.original.png

original
color.AdjustBrightnessMore.png

ramps.AdjustBrightnessMore.png

more brightness(+0.3)
Parameters:
ioImageimage to process.
iBrightnessbrightness coefficient in range -1.0, +1.0. 0.0 is the neutral value.
iNotifiera notifier for progression, log and cancel.
Returns:
Method running status.

Implements eLynx::Image::IImagePointProcessing.

template<class Pixel >
virtual bool eLynx::Image::ImagePointProcessingImpl< Pixel >::AdjustContrast ( AbstractImage ioImage,
double  iContrast,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
) const [virtual]

Change contrast on selected channels, based on the RGB color model.

Optimizations: multicore, look up table.

color.AdjustContrastLess.png

ramps.AdjustContrastLess.png

less contrast(-0.4)
color.original.png

ramps.original.png

original
color.AdjustContrastMore.png

ramps.AdjustContrastMore.png

more contrast(+0.4)
Parameters:
ioImageimage to process.
iContrastcontrast coefficient in range -1.0, +1.0. 0.0 is the neutral value.
iNotifiera notifier for progression, log and cancel.
Returns:
Method running status.

Implements eLynx::Image::IImagePointProcessing.

template<class Pixel >
virtual bool eLynx::Image::ImagePointProcessingImpl< Pixel >::AdjustGamma ( AbstractImage ioImage,
double  iGamma,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
) const [virtual]

Gamma correction on selected channels, based on the RGB color model.

Optimizations: multicore, look up table.

color.AdjustGammaLess.png

ramps.AdjustGammaLess.png

gamma(0.5)
color.original.png

ramps.original.png

original
color.AdjustGammaMore.png

ramps.AdjustGammaMore.png

gamma(3.0)
Parameters:
ioImageimage to process.
iGammagamma value in range 0.001, +4.0. 1.0 is neutral value.
iNotifiera notifier for progression, log and cancel.
Returns:
Method running status.

Implements eLynx::Image::IImagePointProcessing.

template<class Pixel >
virtual bool eLynx::Image::ImagePointProcessingImpl< Pixel >::AdjustHueSaturation ( AbstractImage ioImage,
double  iHue,
double  iSaturation,
ProgressNotifier iNotifier 
) const [virtual]

Hue and Saturation adjustment, based on the HLS color model.

Optimizations: multicore.

Parameters:
ioImageimage to process.
iHuehue adjustment in range [0..1].
iSaturationSaturation adjustment in range [0..1].
iNotifiera notifier for progression, log and cancel.
Returns:
Method running status.

Implements eLynx::Image::IImagePointProcessing.

template<class Pixel >
virtual bool eLynx::Image::ImagePointProcessingImpl< Pixel >::AdjustMidtone ( AbstractImage ioImage,
double  iMidtone,
uint32  iChannelMask = CM_All,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
) const [virtual]

Midtone correction on selected channels.

Optimizations: multicore, look up table.

color.AdjustMidtoneLess.png

ramps.AdjustMidtoneLess.png

Midtone(0.2)
color.original.png

ramps.original.png

original
color.AdjustMidtoneMore.png

ramps.AdjustMidtoneMore.png

Midtone(0.7)
Parameters:
ioImageimage to process.
iMidtonevalue in range 0.001, 0.999. 0.5 is neutral value.
iChannelMaskselected channels to be processed. Default is all channels.
iNotifiera notifier for progression, log and cancel.
Returns:
Method running status.

Implements eLynx::Image::IImagePointProcessing.

template<class Pixel >
virtual bool eLynx::Image::ImagePointProcessingImpl< Pixel >::AdjustShadowHighlight ( AbstractImage ioImage,
double  iShadow,
double  iHighlight,
uint32  iChannelMask,
ProgressNotifier iNotifier 
) const [virtual]

Shadow and highlight adjustment.

Optimizations: multicore, look up table.

Parameters:
ioImageimage to process.
iShadowadjustment in range [0..1].
iHighlightadjustment in range [0..1].
iChannelMaskselected channels to be processed. Default is all.
iNotifiera notifier for progression, log and cancel.
Returns:
Method running status.

Implements eLynx::Image::IImagePointProcessing.

template<class Pixel >
virtual bool eLynx::Image::ImagePointProcessingImpl< Pixel >::AdjustSigmoid ( AbstractImage ioImage,
double  iAlpha,
double  iBeta,
uint32  iChannelMask = CM_All,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
) const [virtual]

Adjust Sigmoid on selected channels.

Optimizations: multicore, look up table.

color.AdjustSigmoid1.png

ramps.AdjustSigmoid1.png

Sigmoid(2.0, 0.25)
color.original.png

ramps.original.png

original
color.AdjustSigmoid2.png

ramps.AdjustSigmoid2.png

Sigmoid(0.5, 0.75)
Parameters:
ioImageimage to process.
iAlphascale factor in range [0.0, 10.0], 1.0 is neutral value.
iBetaoffset in range [0.0, 1.0], 0.5 is neutral value.
iChannelMaskselected channels to be processed. Default is all.
iNotifiera notifier for progression, log and cancel.
Returns:
Method running status.

Implements eLynx::Image::IImagePointProcessing.

template<class Pixel >
virtual bool eLynx::Image::ImagePointProcessingImpl< Pixel >::Balance ( AbstractImage ioImage,
double  iRed,
double  iGreen,
double  iBlue,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
) const [virtual]

The Color Balance allows you to adjust the overall mixture of the colors, based on the RGB color model.

Optimizations: multicore, look up table.

color.original.png

ramps.original.png

original
color.Balance.png

ramps.Balance.png

Balance(0.8, 1.1, 0.5)

In example with RGB image: red channel is scaled by 0.8, green by 1.1 and blue by 0.5.

Parameters:
ioImageimage to process.
iRedthe red factor.
iGreenthe green factor.
iBluethe blue factor.
iNotifiera notifier for progression, log and cancel.
Returns:
Method running status.

Implements eLynx::Image::IImagePointProcessing.

template<class Pixel >
virtual bool eLynx::Image::ImagePointProcessingImpl< Pixel >::Blend ( AbstractImage ioImage,
const AbstractImage iImage,
double  iScalar,
uint32  iChannelMask,
ProgressNotifier iNotifier 
) const [virtual]

Blend two images by a scalar in range [0..1].

Resulting image is computed as: Notes that images should have the same sizes and same format otherwise it fails and the ioImage is kept unchanged. Optimizations: multicore.

Parameters:
ioImagefirst and output image.
iImagesecond image to be blend with the first.
iScalarBlending scalar in range [0..1].
iChannelMaskselected channels to be processed. Default is all.
iNotifiera notifier for progression, log and cancel.

Implements eLynx::Image::IImagePointProcessing.

template<class Pixel >
virtual bool eLynx::Image::ImagePointProcessingImpl< Pixel >::Colorize ( AbstractImage ioImage,
double  iHue,
double  iSaturation,
ProgressNotifier iNotifier 
) const [virtual]

Colorize an image setting a hue and saturation, based on the HLS color model.

Optimizations: multicore.

color.original.png

ramps.original.png

original
color.Colorize.png

ramps.Colorize.png

Colorize(0.10, 0.54) with Sepia tone
Parameters:
ioImageimage to process.
iHueHue in normalised range [0.0, 1.0].
iSaturationSaturation in normalised range [0.0, 1.0].
iNotifiera notifier for progression, log and cancel.
Returns:
Method running status.

Implements eLynx::Image::IImagePointProcessing.

template<class Pixel >
virtual bool eLynx::Image::ImagePointProcessingImpl< Pixel >::Desaturate ( AbstractImage ioImage,
double  iFactor,
uint32  iChannelMask,
ProgressNotifier iNotifier 
) const [virtual]

Adjust the Saturation by a multiplier factor, based on the HLS color model.

Optimizations: multicore.

Parameters:
ioImageimage to process.
iFactorsaturation multiplier factor.
iChannelMaskselected channels to be processed. Default is all channels.
iNotifiera notifier for progression, log and cancel.
Returns:
Method running status.

Implements eLynx::Image::IImagePointProcessing.

template<class Pixel >
virtual bool eLynx::Image::ImagePointProcessingImpl< Pixel >::Posterize ( AbstractImage ioImage,
uint32  iLevels,
uint32  iChannelMask = CM_All,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
) const [virtual]

The Posterize effect lets you adjust the number of brightness levels of the image.

Optimizations: look up table.

color.original.png

ramps.original.png

original
color.Posterize.png

ramps.Posterize.png

Posterize(3)
Parameters:
ioImageimage to process.
iLevelsnumbers of levels for all image dynamic range.
iChannelMaskselected channels to be processed. Default is all.
iNotifiera notifier for progression, log and cancel.
Returns:
Method running status.

Implements eLynx::Image::IImagePointProcessing.

template<class Pixel >
virtual bool eLynx::Image::ImagePointProcessingImpl< Pixel >::Solarize ( AbstractImage ioImage,
double  iThreshold,
uint32  iChannelMask = CM_All,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
) const [virtual]

The Solarize effect blends an image by inverting all color data when intensity value is greater than a threshold.

Optimizations: multicore, look up table.

color.original.png

ramps.original.png

original
color.Solarize.png

ramps.Solarize.png

Solarize(0.6)
Parameters:
ioImageimage to process.
iThresholdlevel in range [0, 1] when negative occurs.
iChannelMaskselected channels to be processed. Default is all.
iNotifiera notifier for progression, log and cancel.
Returns:
Method running status.

Implements eLynx::Image::IImagePointProcessing.


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

Generated on Thu Dec 9 2010 by doxygen 1.7.2