eLynx SDK
v3.3.0 C++ image processing API reference |
Implementation of point to point image processing interface. More...
#include <ImagePointProcessingImpl.h>
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) |
Implementation of point to point image processing interface.
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.
ioImage | image to process. |
iBrightness | brightness coefficient in range -1.0, +1.0. 0.0 is neutral value. |
iContrast | contrast coefficient in range -1.0, +1.0. 0.0 is neutral value. |
iGamma | gamma value in range 0.001, +4.0. 1.0 is neutral value. |
iNotifier | a notifier for progression, log and cancel. |
Implements eLynx::Image::IImagePointProcessing.
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.
![]() ![]() less brightness(-0.3) | ![]() ![]() original | ![]() ![]() more brightness(+0.3) |
ioImage | image to process. |
iBrightness | brightness coefficient in range -1.0, +1.0. 0.0 is the neutral value. |
iNotifier | a notifier for progression, log and cancel. |
Implements eLynx::Image::IImagePointProcessing.
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.
![]() ![]() less contrast(-0.4) | ![]() ![]() original | ![]() ![]() more contrast(+0.4) |
ioImage | image to process. |
iContrast | contrast coefficient in range -1.0, +1.0. 0.0 is the neutral value. |
iNotifier | a notifier for progression, log and cancel. |
Implements eLynx::Image::IImagePointProcessing.
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.
![]() ![]() gamma(0.5) | ![]() ![]() original | ![]() ![]() gamma(3.0) |
ioImage | image to process. |
iGamma | gamma value in range 0.001, +4.0. 1.0 is neutral value. |
iNotifier | a notifier for progression, log and cancel. |
Implements eLynx::Image::IImagePointProcessing.
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.
ioImage | image to process. |
iHue | hue adjustment in range [0..1]. |
iSaturation | Saturation adjustment in range [0..1]. |
iNotifier | a notifier for progression, log and cancel. |
Implements eLynx::Image::IImagePointProcessing.
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.
![]() ![]() Midtone(0.2) | ![]() ![]() original | ![]() ![]() Midtone(0.7) |
ioImage | image to process. |
iMidtone | value in range 0.001, 0.999. 0.5 is neutral value. |
iChannelMask | selected channels to be processed. Default is all channels. |
iNotifier | a notifier for progression, log and cancel. |
Implements eLynx::Image::IImagePointProcessing.
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.
ioImage | image to process. |
iShadow | adjustment in range [0..1]. |
iHighlight | adjustment in range [0..1]. |
iChannelMask | selected channels to be processed. Default is all. |
iNotifier | a notifier for progression, log and cancel. |
Implements eLynx::Image::IImagePointProcessing.
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.
![]() ![]() Sigmoid(2.0, 0.25) | ![]() ![]() original | ![]() ![]() Sigmoid(0.5, 0.75) |
ioImage | image to process. |
iAlpha | scale factor in range [0.0, 10.0], 1.0 is neutral value. |
iBeta | offset in range [0.0, 1.0], 0.5 is neutral value. |
iChannelMask | selected channels to be processed. Default is all. |
iNotifier | a notifier for progression, log and cancel. |
Implements eLynx::Image::IImagePointProcessing.
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.
![]() ![]() original | ![]() ![]() 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.
ioImage | image to process. |
iRed | the red factor. |
iGreen | the green factor. |
iBlue | the blue factor. |
iNotifier | a notifier for progression, log and cancel. |
Implements eLynx::Image::IImagePointProcessing.
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.
ioImage | first and output image. |
iImage | second image to be blend with the first. |
iScalar | Blending scalar in range [0..1]. |
iChannelMask | selected channels to be processed. Default is all. |
iNotifier | a notifier for progression, log and cancel. |
Implements eLynx::Image::IImagePointProcessing.
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.
![]() ![]() original | ![]() ![]() Colorize(0.10, 0.54) with Sepia tone |
ioImage | image to process. |
iHue | Hue in normalised range [0.0, 1.0]. |
iSaturation | Saturation in normalised range [0.0, 1.0]. |
iNotifier | a notifier for progression, log and cancel. |
Implements eLynx::Image::IImagePointProcessing.
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.
ioImage | image to process. |
iFactor | saturation multiplier factor. |
iChannelMask | selected channels to be processed. Default is all channels. |
iNotifier | a notifier for progression, log and cancel. |
Implements eLynx::Image::IImagePointProcessing.
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.
![]() ![]() original | ![]() ![]() Posterize(3) |
ioImage | image to process. |
iLevels | numbers of levels for all image dynamic range. |
iChannelMask | selected channels to be processed. Default is all. |
iNotifier | a notifier for progression, log and cancel. |
Implements eLynx::Image::IImagePointProcessing.
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.
![]() ![]() original | ![]() ![]() Solarize(0.6) |
ioImage | image to process. |
iThreshold | level in range [0, 1] when negative occurs. |
iChannelMask | selected channels to be processed. Default is all. |
iNotifier | a notifier for progression, log and cancel. |
Implements eLynx::Image::IImagePointProcessing.