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

eLynx::Image::IImagePointProcessing Class Reference

Interface defining point to point image processing functionnalities. More...

#include <IImagePointProcessing.h>

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

List of all members.

Public Member Functions

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

Detailed Description

Interface defining point to point image processing functionnalities.

See Characteristics of Image Operations.

IImagePointProcessing.png

Main of point to point processing functionnalities are based on histogram operations.
For more info see articles :


Member Function Documentation

virtual bool eLynx::Image::IImagePointProcessing::AdjustBCG ( AbstractImage ioImage,
double  iBrightness,
double  iContrast,
double  iGamma,
ProgressNotifier iNotifier 
) const [pure 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.

Implemented in eLynx::Image::ImagePointProcessingImpl< Pixel >.

virtual bool eLynx::Image::IImagePointProcessing::AdjustBrightness ( AbstractImage ioImage,
double  iBrightness,
ProgressNotifier iNotifier 
) const [pure 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.

Implemented in eLynx::Image::ImagePointProcessingImpl< Pixel >.

virtual bool eLynx::Image::IImagePointProcessing::AdjustContrast ( AbstractImage ioImage,
double  iContrast,
ProgressNotifier iNotifier 
) const [pure 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.

Implemented in eLynx::Image::ImagePointProcessingImpl< Pixel >.

virtual bool eLynx::Image::IImagePointProcessing::AdjustGamma ( AbstractImage ioImage,
double  iGamma,
ProgressNotifier iNotifier 
) const [pure 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.

Implemented in eLynx::Image::ImagePointProcessingImpl< Pixel >.

virtual bool eLynx::Image::IImagePointProcessing::AdjustHueSaturation ( AbstractImage ioImage,
double  iHue,
double  iSaturation,
ProgressNotifier iNotifier 
) const [pure 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.

Implemented in eLynx::Image::ImagePointProcessingImpl< Pixel >.

virtual bool eLynx::Image::IImagePointProcessing::AdjustMidtone ( AbstractImage ioImage,
double  iMidtone,
uint32  iChannelMask,
ProgressNotifier iNotifier 
) const [pure 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.

Implemented in eLynx::Image::ImagePointProcessingImpl< Pixel >.

virtual bool eLynx::Image::IImagePointProcessing::AdjustShadowHighlight ( AbstractImage ioImage,
double  iShadow,
double  iHighlight,
uint32  iChannelMask,
ProgressNotifier iNotifier 
) const [pure 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.

Implemented in eLynx::Image::ImagePointProcessingImpl< Pixel >.

virtual bool eLynx::Image::IImagePointProcessing::AdjustSigmoid ( AbstractImage ioImage,
double  iAlpha,
double  iBeta,
uint32  iChannelMask,
ProgressNotifier iNotifier 
) const [pure 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.

Implemented in eLynx::Image::ImagePointProcessingImpl< Pixel >.

virtual bool eLynx::Image::IImagePointProcessing::Balance ( AbstractImage ioImage,
double  iRed,
double  iGreen,
double  iBlue,
ProgressNotifier iNotifier 
) const [pure 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.

Implemented in eLynx::Image::ImagePointProcessingImpl< Pixel >.

virtual bool eLynx::Image::IImagePointProcessing::Blend ( AbstractImage ioImage,
const AbstractImage iImage,
double  iScalar,
uint32  iChannelMask,
ProgressNotifier iNotifier 
) const [pure 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.

Implemented in eLynx::Image::ImagePointProcessingImpl< Pixel >.

virtual bool eLynx::Image::IImagePointProcessing::Colorize ( AbstractImage ioImage,
double  iHue,
double  iSaturation,
ProgressNotifier iNotifier 
) const [pure 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.

Implemented in eLynx::Image::ImagePointProcessingImpl< Pixel >.

virtual bool eLynx::Image::IImagePointProcessing::Desaturate ( AbstractImage ioImage,
double  iFactor,
uint32  iChannelMask,
ProgressNotifier iNotifier 
) const [pure 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.

Implemented in eLynx::Image::ImagePointProcessingImpl< Pixel >.

virtual bool eLynx::Image::IImagePointProcessing::Posterize ( AbstractImage ioImage,
uint32  iLevels,
uint32  iChannelMask,
ProgressNotifier iNotifier 
) const [pure 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.

Implemented in eLynx::Image::ImagePointProcessingImpl< Pixel >.

virtual bool eLynx::Image::IImagePointProcessing::Solarize ( AbstractImage ioImage,
double  iThreshold,
uint32  iChannelMask,
ProgressNotifier iNotifier 
) const [pure 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.

Implemented in eLynx::Image::ImagePointProcessingImpl< Pixel >.


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

Generated on Thu Dec 9 2010 by doxygen 1.7.2